Skip to content
Snippets Groups Projects
  • gupnik's avatar
    Remove `as frame_system::DefaultConfig` from the required syntax in `derive_impl` (#3505) · cdc8d197
    gupnik authored
    Step in https://github.com/paritytech/polkadot-sdk/issues/171
    
    This PR removes the need to specify `as [disambiguation_path]` for cases
    where the trait definition resides within the same scope as default impl
    path.
    
    For example, in the following macro invocation
    ```rust
    #[derive_impl(frame_system::config_preludes::TestDefaultConfig as frame_system::DefaultConfig)]
    impl frame_system::Config for Runtime {
       ...
    }
    ```
    the trait `DefaultConfig` lies within the `frame_system` scope and
    `TestDefaultConfig` impls the `DefaultConfig` trait. Using this
    information, we can compute the disambiguation path internally, thus
    removing the need of an explicit specification.
    
    In cases where the trait lies outside this scope, we would still need to
    specify it explicitly, but this should take care of most (if not all)
    uses of `derive_impl` within FRAME's context.
    Unverified
    cdc8d197
Code owners
Assign users and groups as approvers for specific file changes. Learn more.