• Bastian Köcher's avatar
    Make runtime api generate version and identifier information (#1226) · df338c24
    Bastian Köcher authored
    * Make `decl_runtime_apis!` implement `RuntimeApiInfo` for all runtime
    apis
    
    * Make the runtime side generate the info constants as well
    
    * Make `RuntimeApiInfo` implementation use the correct generics
    
    * Adds a test for the runtime api info stuff
    
    * Remove duplicated code by using block from `test-client`
    
    * Adds `compile_fail` tests for `api_version`
    
    * Adds documentation for `api_version`
    
    * Make `impl_runtime_apis!` generate `RUNTIME_API_VERSIONS`
    
    * Update documentation and tests for `RUNTIME_API_VERSIONS`
    
    * Implement `has_api` by using the `RuntimeApiInfo`
    
    * Make `impl_runtime_apis` check that trait identifiers are unique
    
    * Prefix all runtime api function with the corresponding trait
    
    So `execute_block` will be called `Core_execute_block`.
    This makes it possible to have traits implement a function with the
    same name.
    
    * Rebase master
    
    * Update after master rebase
    df338c24