Update CI image to the latest rustc (#10142)

* Update CI image to the latest rustc

* Update rustc error messages

* whitespace

* update test output

* updating compiler errors

* kid's finally learning to read and spots the TRYBUILD=overwrite message.

* undoing a little blessing

* imperfect error msg

* revert ci image to production

Co-authored-by: gilescope <gilescope@gmail.com>
This commit is contained in:
Alexander Samusev
2021-11-03 13:23:32 +01:00
committed by GitHub
parent c448c23c6e
commit a46fa8461b
17 changed files with 189 additions and 160 deletions
@@ -82,7 +82,8 @@ error[E0277]: the trait bound `Runtime: frame_system::pallet::Config` is not sat
11 | impl test_pallet::Config for Runtime {}
| ^^^^^^^^^^^^^^^^^^^ the trait `frame_system::pallet::Config` is not implemented for `Runtime`
|
::: $WORKSPACE/frame/support/test/pallet/src/lib.rs
note: required by a bound in `Config`
--> $DIR/lib.rs:30:20
|
| pub trait Config: frame_system::Config {}
| -------------------- required by this bound in `Config`
30 | pub trait Config: frame_system::Config {}
| ^^^^^^^^^^^^^^^^^^^^ required by this bound in `Config`
@@ -66,8 +66,11 @@ help: consider importing one of these items
error[E0277]: the trait bound `Runtime: frame_system::Config` is not satisfied
--> $DIR/undefined_call_part.rs:20:6
|
8 | pub trait Config: frame_system::Config {}
| -------------------- required by this bound in `pallet::Config`
...
20 | impl pallet::Config for Runtime {}
| ^^^^^^^^^^^^^^ the trait `frame_system::Config` is not implemented for `Runtime`
|
note: required by a bound in `pallet::Config`
--> $DIR/undefined_call_part.rs:8:20
|
8 | pub trait Config: frame_system::Config {}
| ^^^^^^^^^^^^^^^^^^^^ required by this bound in `pallet::Config`
@@ -104,8 +104,11 @@ help: consider importing one of these items
error[E0277]: the trait bound `Runtime: frame_system::Config` is not satisfied
--> $DIR/undefined_event_part.rs:20:6
|
8 | pub trait Config: frame_system::Config {}
| -------------------- required by this bound in `pallet::Config`
...
20 | impl pallet::Config for Runtime {}
| ^^^^^^^^^^^^^^ the trait `frame_system::Config` is not implemented for `Runtime`
|
note: required by a bound in `pallet::Config`
--> $DIR/undefined_event_part.rs:8:20
|
8 | pub trait Config: frame_system::Config {}
| ^^^^^^^^^^^^^^^^^^^^ required by this bound in `pallet::Config`
@@ -84,8 +84,11 @@ help: consider importing this struct
error[E0277]: the trait bound `Runtime: frame_system::Config` is not satisfied
--> $DIR/undefined_genesis_config_part.rs:20:6
|
8 | pub trait Config: frame_system::Config {}
| -------------------- required by this bound in `pallet::Config`
...
20 | impl pallet::Config for Runtime {}
| ^^^^^^^^^^^^^^ the trait `frame_system::Config` is not implemented for `Runtime`
|
note: required by a bound in `pallet::Config`
--> $DIR/undefined_genesis_config_part.rs:8:20
|
8 | pub trait Config: frame_system::Config {}
| ^^^^^^^^^^^^^^^^^^^^ required by this bound in `pallet::Config`
@@ -66,8 +66,11 @@ help: consider importing one of these items
error[E0277]: the trait bound `Runtime: frame_system::Config` is not satisfied
--> $DIR/undefined_inherent_part.rs:20:6
|
8 | pub trait Config: frame_system::Config {}
| -------------------- required by this bound in `pallet::Config`
...
20 | impl pallet::Config for Runtime {}
| ^^^^^^^^^^^^^^ the trait `frame_system::Config` is not implemented for `Runtime`
|
note: required by a bound in `pallet::Config`
--> $DIR/undefined_inherent_part.rs:8:20
|
8 | pub trait Config: frame_system::Config {}
| ^^^^^^^^^^^^^^^^^^^^ required by this bound in `pallet::Config`
@@ -104,8 +104,11 @@ help: consider importing one of these items
error[E0277]: the trait bound `Runtime: frame_system::Config` is not satisfied
--> $DIR/undefined_origin_part.rs:20:6
|
8 | pub trait Config: frame_system::Config {}
| -------------------- required by this bound in `pallet::Config`
...
20 | impl pallet::Config for Runtime {}
| ^^^^^^^^^^^^^^ the trait `frame_system::Config` is not implemented for `Runtime`
|
note: required by a bound in `pallet::Config`
--> $DIR/undefined_origin_part.rs:8:20
|
8 | pub trait Config: frame_system::Config {}
| ^^^^^^^^^^^^^^^^^^^^ required by this bound in `pallet::Config`
@@ -66,8 +66,11 @@ help: consider importing one of these items
error[E0277]: the trait bound `Runtime: frame_system::Config` is not satisfied
--> $DIR/undefined_validate_unsigned_part.rs:20:6
|
8 | pub trait Config: frame_system::Config {}
| -------------------- required by this bound in `pallet::Config`
...
20 | impl pallet::Config for Runtime {}
| ^^^^^^^^^^^^^^ the trait `frame_system::Config` is not implemented for `Runtime`
|
note: required by a bound in `pallet::Config`
--> $DIR/undefined_validate_unsigned_part.rs:8:20
|
8 | pub trait Config: frame_system::Config {}
| ^^^^^^^^^^^^^^^^^^^^ required by this bound in `pallet::Config`
@@ -4,9 +4,9 @@ error[E0277]: can't compare `Foo<T>` with `Foo<T>`
6 | struct Foo<T: Config> {
| ^^^ no implementation for `Foo<T> == Foo<T>`
|
::: $RUST/core/src/cmp.rs
|
| pub trait Eq: PartialEq<Self> {
| --------------- required by this bound in `std::cmp::Eq`
|
= help: the trait `PartialEq` is not implemented for `Foo<T>`
note: required by a bound in `std::cmp::Eq`
--> $DIR/cmp.rs:272:15
|
272 | pub trait Eq: PartialEq<Self> {
| ^^^^^^^^^^^^^^^ required by this bound in `std::cmp::Eq`
@@ -29,4 +29,4 @@ error[E0369]: binary operation `==` cannot be applied to type `&<T as pallet::Co
help: consider further restricting this bound
|
17 | #[pallet::call + std::cmp::PartialEq]
| ^^^^^^^^^^^^^^^^^^^^^
| +++++++++++++++++++++
@@ -29,7 +29,7 @@ error[E0369]: binary operation `==` cannot be applied to type `&<T as pallet::Co
help: consider further restricting this bound
|
17 | #[pallet::call + std::cmp::PartialEq]
| ^^^^^^^^^^^^^^^^^^^^^
| +++++++++++++++++++++
error[E0277]: the trait bound `<T as pallet::Config>::Bar: WrapperTypeEncode` is not satisfied
--> $DIR/call_argument_invalid_bound_2.rs:1:1
@@ -47,12 +47,12 @@ error[E0277]: the trait bound `<T as pallet::Config>::Bar: WrapperTypeEncode` is
17 | | #[pallet::call]
| |__________________^ the trait `WrapperTypeEncode` is not implemented for `<T as pallet::Config>::Bar`
|
::: $CARGO/parity-scale-codec-2.3.1/src/codec.rs
|
| fn encode_to<T: Output + ?Sized>(&self, dest: &mut T) {
| ------ required by this bound in `encode_to`
|
= note: required because of the requirements on the impl of `Encode` for `<T as pallet::Config>::Bar`
note: required by a bound in `encode_to`
--> $DIR/codec.rs:223:18
|
223 | fn encode_to<T: Output + ?Sized>(&self, dest: &mut T) {
| ^^^^^^ required by this bound in `encode_to`
= note: this error originates in the derive macro `frame_support::codec::Encode` (in Nightly builds, run with -Z macro-backtrace for more info)
error[E0277]: the trait bound `<T as pallet::Config>::Bar: WrapperTypeDecode` is not satisfied
@@ -61,9 +61,9 @@ error[E0277]: the trait bound `<T as pallet::Config>::Bar: WrapperTypeDecode` is
20 | pub fn foo(origin: OriginFor<T>, bar: T::Bar) -> DispatchResultWithPostInfo {
| ^^^ the trait `WrapperTypeDecode` is not implemented for `<T as pallet::Config>::Bar`
|
::: $CARGO/parity-scale-codec-2.3.1/src/codec.rs
|
| fn decode<I: Input>(input: &mut I) -> Result<Self, Error>;
| ----- required by this bound in `parity_scale_codec::Decode::decode`
|
= note: required because of the requirements on the impl of `Decode` for `<T as pallet::Config>::Bar`
note: required by a bound in `parity_scale_codec::Decode::decode`
--> $DIR/codec.rs:284:15
|
284 | fn decode<I: Input>(input: &mut I) -> Result<Self, Error>;
| ^^^^^ required by this bound in `parity_scale_codec::Decode::decode`
@@ -19,7 +19,7 @@ error[E0369]: binary operation `==` cannot be applied to type `&<T as pallet::Co
help: consider further restricting this bound
|
22 | pub enum Event<T: Config + std::cmp::PartialEq> {
| ^^^^^^^^^^^^^^^^^^^^^
| +++++++++++++++++++++
error[E0277]: `<T as pallet::Config>::Bar` doesn't implement `std::fmt::Debug`
--> $DIR/event_field_not_member.rs:23:7
@@ -4,7 +4,8 @@ error[E0277]: the trait bound `pallet::GenesisConfig: std::default::Default` is
22 | impl<T: Config> GenesisBuild<T> for GenesisConfig {}
| ^^^^^^^^^^^^^^^ the trait `std::default::Default` is not implemented for `pallet::GenesisConfig`
|
::: $WORKSPACE/frame/support/src/traits/hooks.rs
note: required by a bound in `GenesisBuild`
--> $DIR/hooks.rs:297:36
|
| pub trait GenesisBuild<T, I = ()>: Default + sp_runtime::traits::MaybeSerializeDeserialize {
| ------- required by this bound in `GenesisBuild`
297 | pub trait GenesisBuild<T, I = ()>: Default + sp_runtime::traits::MaybeSerializeDeserialize {
| ^^^^^^^ required by this bound in `GenesisBuild`
@@ -12,4 +12,4 @@ note: trait defined here, with 1 generic parameter: `BlockNumber`
help: add missing generic argument
|
12 | impl<T: Config> Hooks<BlockNumber> for Pallet<T> {}
| ^^^^^^^^^^^^^^^^^^
| ~~~~~~~~~~~~~~~~~~
@@ -1,3 +1,49 @@
error[E0277]: the trait bound `Bar: WrapperTypeDecode` is not satisfied
--> $DIR/storage_ensure_span_are_ok_on_wrong_gen.rs:9:12
|
9 | #[pallet::pallet]
| ^^^^^^ the trait `WrapperTypeDecode` is not implemented for `Bar`
|
= note: required because of the requirements on the impl of `Decode` for `Bar`
= note: required because of the requirements on the impl of `FullCodec` for `Bar`
= note: required because of the requirements on the impl of `PartialStorageInfoTrait` for `frame_support::pallet_prelude::StorageValue<_GeneratedPrefixForStorageFoo<T>, Bar>`
note: required by `partial_storage_info`
--> $DIR/storage.rs:88:2
|
88 | fn partial_storage_info() -> Vec<StorageInfo>;
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
error[E0277]: the trait bound `Bar: EncodeLike` is not satisfied
--> $DIR/storage_ensure_span_are_ok_on_wrong_gen.rs:9:12
|
9 | #[pallet::pallet]
| ^^^^^^ the trait `EncodeLike` is not implemented for `Bar`
|
= note: required because of the requirements on the impl of `FullEncode` for `Bar`
= note: required because of the requirements on the impl of `FullCodec` for `Bar`
= note: required because of the requirements on the impl of `PartialStorageInfoTrait` for `frame_support::pallet_prelude::StorageValue<_GeneratedPrefixForStorageFoo<T>, Bar>`
note: required by `partial_storage_info`
--> $DIR/storage.rs:88:2
|
88 | fn partial_storage_info() -> Vec<StorageInfo>;
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
error[E0277]: the trait bound `Bar: WrapperTypeEncode` is not satisfied
--> $DIR/storage_ensure_span_are_ok_on_wrong_gen.rs:9:12
|
9 | #[pallet::pallet]
| ^^^^^^ the trait `WrapperTypeEncode` is not implemented for `Bar`
|
= note: required because of the requirements on the impl of `Encode` for `Bar`
= note: required because of the requirements on the impl of `FullEncode` for `Bar`
= note: required because of the requirements on the impl of `FullCodec` for `Bar`
= note: required because of the requirements on the impl of `PartialStorageInfoTrait` for `frame_support::pallet_prelude::StorageValue<_GeneratedPrefixForStorageFoo<T>, Bar>`
note: required by `partial_storage_info`
--> $DIR/storage.rs:88:2
|
88 | fn partial_storage_info() -> Vec<StorageInfo>;
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
error[E0277]: the trait bound `Bar: TypeInfo` is not satisfied
--> $DIR/storage_ensure_span_are_ok_on_wrong_gen.rs:20:12
|
@@ -57,49 +103,3 @@ note: required by `build_metadata`
|
113 | fn build_metadata(doc: Vec<&'static str>, entries: &mut Vec<StorageEntryMetadata>);
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
error[E0277]: the trait bound `Bar: WrapperTypeDecode` is not satisfied
--> $DIR/storage_ensure_span_are_ok_on_wrong_gen.rs:9:12
|
9 | #[pallet::pallet]
| ^^^^^^ the trait `WrapperTypeDecode` is not implemented for `Bar`
|
= note: required because of the requirements on the impl of `Decode` for `Bar`
= note: required because of the requirements on the impl of `FullCodec` for `Bar`
= note: required because of the requirements on the impl of `PartialStorageInfoTrait` for `frame_support::pallet_prelude::StorageValue<_GeneratedPrefixForStorageFoo<T>, Bar>`
note: required by `partial_storage_info`
--> $DIR/storage.rs:88:2
|
88 | fn partial_storage_info() -> Vec<StorageInfo>;
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
error[E0277]: the trait bound `Bar: EncodeLike` is not satisfied
--> $DIR/storage_ensure_span_are_ok_on_wrong_gen.rs:9:12
|
9 | #[pallet::pallet]
| ^^^^^^ the trait `EncodeLike` is not implemented for `Bar`
|
= note: required because of the requirements on the impl of `FullEncode` for `Bar`
= note: required because of the requirements on the impl of `FullCodec` for `Bar`
= note: required because of the requirements on the impl of `PartialStorageInfoTrait` for `frame_support::pallet_prelude::StorageValue<_GeneratedPrefixForStorageFoo<T>, Bar>`
note: required by `partial_storage_info`
--> $DIR/storage.rs:88:2
|
88 | fn partial_storage_info() -> Vec<StorageInfo>;
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
error[E0277]: the trait bound `Bar: WrapperTypeEncode` is not satisfied
--> $DIR/storage_ensure_span_are_ok_on_wrong_gen.rs:9:12
|
9 | #[pallet::pallet]
| ^^^^^^ the trait `WrapperTypeEncode` is not implemented for `Bar`
|
= note: required because of the requirements on the impl of `Encode` for `Bar`
= note: required because of the requirements on the impl of `FullEncode` for `Bar`
= note: required because of the requirements on the impl of `FullCodec` for `Bar`
= note: required because of the requirements on the impl of `PartialStorageInfoTrait` for `frame_support::pallet_prelude::StorageValue<_GeneratedPrefixForStorageFoo<T>, Bar>`
note: required by `partial_storage_info`
--> $DIR/storage.rs:88:2
|
88 | fn partial_storage_info() -> Vec<StorageInfo>;
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
@@ -1,3 +1,49 @@
error[E0277]: the trait bound `Bar: WrapperTypeDecode` is not satisfied
--> $DIR/storage_ensure_span_are_ok_on_wrong_gen_unnamed.rs:9:12
|
9 | #[pallet::pallet]
| ^^^^^^ the trait `WrapperTypeDecode` is not implemented for `Bar`
|
= note: required because of the requirements on the impl of `Decode` for `Bar`
= note: required because of the requirements on the impl of `FullCodec` for `Bar`
= note: required because of the requirements on the impl of `PartialStorageInfoTrait` for `frame_support::pallet_prelude::StorageValue<_GeneratedPrefixForStorageFoo<T>, Bar>`
note: required by `partial_storage_info`
--> $DIR/storage.rs:88:2
|
88 | fn partial_storage_info() -> Vec<StorageInfo>;
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
error[E0277]: the trait bound `Bar: EncodeLike` is not satisfied
--> $DIR/storage_ensure_span_are_ok_on_wrong_gen_unnamed.rs:9:12
|
9 | #[pallet::pallet]
| ^^^^^^ the trait `EncodeLike` is not implemented for `Bar`
|
= note: required because of the requirements on the impl of `FullEncode` for `Bar`
= note: required because of the requirements on the impl of `FullCodec` for `Bar`
= note: required because of the requirements on the impl of `PartialStorageInfoTrait` for `frame_support::pallet_prelude::StorageValue<_GeneratedPrefixForStorageFoo<T>, Bar>`
note: required by `partial_storage_info`
--> $DIR/storage.rs:88:2
|
88 | fn partial_storage_info() -> Vec<StorageInfo>;
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
error[E0277]: the trait bound `Bar: WrapperTypeEncode` is not satisfied
--> $DIR/storage_ensure_span_are_ok_on_wrong_gen_unnamed.rs:9:12
|
9 | #[pallet::pallet]
| ^^^^^^ the trait `WrapperTypeEncode` is not implemented for `Bar`
|
= note: required because of the requirements on the impl of `Encode` for `Bar`
= note: required because of the requirements on the impl of `FullEncode` for `Bar`
= note: required because of the requirements on the impl of `FullCodec` for `Bar`
= note: required because of the requirements on the impl of `PartialStorageInfoTrait` for `frame_support::pallet_prelude::StorageValue<_GeneratedPrefixForStorageFoo<T>, Bar>`
note: required by `partial_storage_info`
--> $DIR/storage.rs:88:2
|
88 | fn partial_storage_info() -> Vec<StorageInfo>;
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
error[E0277]: the trait bound `Bar: TypeInfo` is not satisfied
--> $DIR/storage_ensure_span_are_ok_on_wrong_gen_unnamed.rs:20:12
|
@@ -57,49 +103,3 @@ note: required by `build_metadata`
|
113 | fn build_metadata(doc: Vec<&'static str>, entries: &mut Vec<StorageEntryMetadata>);
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
error[E0277]: the trait bound `Bar: WrapperTypeDecode` is not satisfied
--> $DIR/storage_ensure_span_are_ok_on_wrong_gen_unnamed.rs:9:12
|
9 | #[pallet::pallet]
| ^^^^^^ the trait `WrapperTypeDecode` is not implemented for `Bar`
|
= note: required because of the requirements on the impl of `Decode` for `Bar`
= note: required because of the requirements on the impl of `FullCodec` for `Bar`
= note: required because of the requirements on the impl of `PartialStorageInfoTrait` for `frame_support::pallet_prelude::StorageValue<_GeneratedPrefixForStorageFoo<T>, Bar>`
note: required by `partial_storage_info`
--> $DIR/storage.rs:88:2
|
88 | fn partial_storage_info() -> Vec<StorageInfo>;
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
error[E0277]: the trait bound `Bar: EncodeLike` is not satisfied
--> $DIR/storage_ensure_span_are_ok_on_wrong_gen_unnamed.rs:9:12
|
9 | #[pallet::pallet]
| ^^^^^^ the trait `EncodeLike` is not implemented for `Bar`
|
= note: required because of the requirements on the impl of `FullEncode` for `Bar`
= note: required because of the requirements on the impl of `FullCodec` for `Bar`
= note: required because of the requirements on the impl of `PartialStorageInfoTrait` for `frame_support::pallet_prelude::StorageValue<_GeneratedPrefixForStorageFoo<T>, Bar>`
note: required by `partial_storage_info`
--> $DIR/storage.rs:88:2
|
88 | fn partial_storage_info() -> Vec<StorageInfo>;
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
error[E0277]: the trait bound `Bar: WrapperTypeEncode` is not satisfied
--> $DIR/storage_ensure_span_are_ok_on_wrong_gen_unnamed.rs:9:12
|
9 | #[pallet::pallet]
| ^^^^^^ the trait `WrapperTypeEncode` is not implemented for `Bar`
|
= note: required because of the requirements on the impl of `Encode` for `Bar`
= note: required because of the requirements on the impl of `FullEncode` for `Bar`
= note: required because of the requirements on the impl of `FullCodec` for `Bar`
= note: required because of the requirements on the impl of `PartialStorageInfoTrait` for `frame_support::pallet_prelude::StorageValue<_GeneratedPrefixForStorageFoo<T>, Bar>`
note: required by `partial_storage_info`
--> $DIR/storage.rs:88:2
|
88 | fn partial_storage_info() -> Vec<StorageInfo>;
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
@@ -1,47 +1,53 @@
error[E0277]: the trait bound `<T as frame_system::Config>::AccountId: From<u32>` is not satisfied
--> $DIR/type_value_forgotten_where_clause.rs:24:34
|
7 | pub trait Config: frame_system::Config
| ------ required by a bound in this
8 | where <Self as frame_system::Config>::AccountId: From<u32>
| --------- required by this bound in `pallet::Config`
...
24 | #[pallet::type_value] fn Foo<T: Config>() -> u32 { 3u32 }
| ^^^^^^ the trait `From<u32>` is not implemented for `<T as frame_system::Config>::AccountId`
|
help: consider further restricting the associated type
|
24 | #[pallet::type_value] fn Foo<T: Config>() -> u32 where <T as frame_system::Config>::AccountId: From<u32> { 3u32 }
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
error[E0277]: the trait bound `<T as frame_system::Config>::AccountId: From<u32>` is not satisfied
--> $DIR/type_value_forgotten_where_clause.rs:24:12
note: required by a bound in `pallet::Config`
--> $DIR/type_value_forgotten_where_clause.rs:8:51
|
7 | pub trait Config: frame_system::Config
| ------ required by a bound in this
8 | where <Self as frame_system::Config>::AccountId: From<u32>
| --------- required by this bound in `pallet::Config`
...
| ^^^^^^^^^ required by this bound in `pallet::Config`
help: consider further restricting the associated type
|
24 | #[pallet::type_value] fn Foo<T: Config>() -> u32 where <T as frame_system::Config>::AccountId: From<u32> { 3u32 }
| +++++++++++++++++++++++++++++++++++++++++++++++++++++++
error[E0277]: the trait bound `<T as frame_system::Config>::AccountId: From<u32>` is not satisfied
--> $DIR/type_value_forgotten_where_clause.rs:24:12
|
24 | #[pallet::type_value] fn Foo<T: Config>() -> u32 { 3u32 }
| ^^^^^^^^^^ the trait `From<u32>` is not implemented for `<T as frame_system::Config>::AccountId`
|
note: required by a bound in `pallet::Config`
--> $DIR/type_value_forgotten_where_clause.rs:8:51
|
7 | pub trait Config: frame_system::Config
| ------ required by a bound in this
8 | where <Self as frame_system::Config>::AccountId: From<u32>
| ^^^^^^^^^ required by this bound in `pallet::Config`
help: consider further restricting the associated type
|
24 | #[pallet::type_value where <T as frame_system::Config>::AccountId: From<u32>] fn Foo<T: Config>() -> u32 { 3u32 }
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
| +++++++++++++++++++++++++++++++++++++++++++++++++++++++
error[E0277]: the trait bound `<T as frame_system::Config>::AccountId: From<u32>` is not satisfied
--> $DIR/type_value_forgotten_where_clause.rs:24:12
|
7 | pub trait Config: frame_system::Config
| ------ required by a bound in this
8 | where <Self as frame_system::Config>::AccountId: From<u32>
| --------- required by this bound in `pallet::Config`
...
24 | #[pallet::type_value] fn Foo<T: Config>() -> u32 { 3u32 }
| ^^^^^^^^^^ the trait `From<u32>` is not implemented for `<T as frame_system::Config>::AccountId`
|
note: required by a bound in `pallet::Config`
--> $DIR/type_value_forgotten_where_clause.rs:8:51
|
7 | pub trait Config: frame_system::Config
| ------ required by a bound in this
8 | where <Self as frame_system::Config>::AccountId: From<u32>
| ^^^^^^^^^ required by this bound in `pallet::Config`
help: consider further restricting the associated type
|
24 | #[pallet::type_value] fn Foo<T: Config>() -> u32 where <T as frame_system::Config>::AccountId: From<u32> { 3u32 }
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
| +++++++++++++++++++++++++++++++++++++++++++++++++++++++