[ci] Update ci image with rust 1.77 and 2024-04-10 (#4077)

cc https://github.com/paritytech/ci_cd/issues/974

---------

Co-authored-by: command-bot <>
Co-authored-by: Bastian Köcher <info@kchr.de>
This commit is contained in:
Alexander Samusev
2024-04-18 11:24:16 +02:00
committed by GitHub
parent b6fab8046e
commit 76719da221
32 changed files with 443 additions and 456 deletions
+1 -1
View File
@@ -15,7 +15,7 @@ jobs:
os: ["ubuntu-latest"]
runs-on: ${{ matrix.os }}
container:
image: docker.io/paritytech/ci-unified:bullseye-1.75.0-2024-01-22-v20240109
image: docker.io/paritytech/ci-unified:bullseye-1.77.0-2024-04-10-v20240408
steps:
- uses: actions/checkout@b4ffde65f46336ab88eb53be808477a3936bae11 # v4.1.1
+2 -2
View File
@@ -13,7 +13,7 @@ jobs:
runs-on: arc-runners-polkadot-sdk
timeout-minutes: 30
container:
image: "docker.io/paritytech/ci-unified:bullseye-1.75.0-2024-01-22-v20240109"
image: "docker.io/paritytech/ci-unified:bullseye-1.77.0-2024-04-10-v20240408"
env:
RUSTFLAGS: "-C debug-assertions -D warnings"
RUST_BACKTRACE: 1
@@ -30,7 +30,7 @@ jobs:
runs-on: arc-runners-polkadot-sdk
timeout-minutes: 30
container:
image: "docker.io/paritytech/ci-unified:bullseye-1.75.0-2024-01-22-v20240109"
image: "docker.io/paritytech/ci-unified:bullseye-1.77.0-2024-04-10-v20240408"
env:
RUSTFLAGS: "-C debug-assertions -D warnings"
RUST_BACKTRACE: "full"
+2 -1
View File
@@ -21,7 +21,8 @@ workflow:
- if: $CI_COMMIT_BRANCH
variables:
CI_IMAGE: !reference [.ci-unified, variables, CI_IMAGE]
# CI_IMAGE: !reference [.ci-unified, variables, CI_IMAGE]
CI_IMAGE: "docker.io/paritytech/ci-unified:bullseye-1.77.0-2024-04-10-v20240408"
# BUILDAH_IMAGE is defined in group variables
BUILDAH_COMMAND: "buildah --storage-driver overlay2"
RELENG_SCRIPTS_BRANCH: "master"
+1 -1
View File
@@ -24,7 +24,7 @@ The command below allows building a Linux binary without having to even install
docker run --rm -it \
-w /polkadot-sdk \
-v $(pwd):/polkadot-sdk \
paritytech/ci-unified:bullseye-1.75.0-2024-01-22-v20240222 \
docker.io/paritytech/ci-unified:bullseye-1.77.0-2024-04-10-v20240408 \
cargo build --release --locked -p polkadot-parachain-bin --bin polkadot-parachain
sudo chown -R $(id -u):$(id -g) target/
```
@@ -38,7 +38,7 @@
//! // Use nightly formatting.
//! // See the polkadot-sdk CI job that checks formatting for the current version used in
//! // polkadot-sdk.
//! "rust-analyzer.rustfmt.extraArgs": ["+nightly-2024-01-22"],
//! "rust-analyzer.rustfmt.extraArgs": ["+nightly-2024-04-10"],
//! }
//! ```
//!
@@ -79,7 +79,7 @@
//! # Use nightly formatting.
//! # See the polkadot-sdk CI job that checks formatting for the current version used in
//! # polkadot-sdk.
//! extraArgs = { "+nightly-2024-01-22" },
//! extraArgs = { "+nightly-2024-04-10" },
//! },
//! },
//! ```
+7 -10
View File
@@ -24,8 +24,8 @@ use polkadot_primitives::{
CandidateCommitments, CandidateEvent, CandidateHash, CommittedCandidateReceipt, CoreIndex,
CoreState, DisputeState, ExecutorParams, GroupRotationInfo, Hash, Id as ParaId,
InboundDownwardMessage, InboundHrmpMessage, NodeFeatures, OccupiedCoreAssumption,
PersistedValidationData, PvfCheckStatement, ScrapedOnChainVotes, SessionIndex, SessionInfo,
ValidationCode, ValidationCodeHash, ValidatorId, ValidatorIndex, ValidatorSignature,
PersistedValidationData, ScrapedOnChainVotes, SessionIndex, SessionInfo, ValidationCode,
ValidationCodeHash, ValidatorId, ValidatorIndex,
};
/// For consistency we have the same capacity for all caches. We use 128 as we'll only need that
@@ -561,7 +561,7 @@ pub(crate) enum RequestResult {
// The structure of each variant is (relay_parent, [params,]*, result)
Authorities(Hash, Vec<AuthorityDiscoveryId>),
Validators(Hash, Vec<ValidatorId>),
MinimumBackingVotes(Hash, SessionIndex, u32),
MinimumBackingVotes(SessionIndex, u32),
ValidatorGroups(Hash, (Vec<Vec<ValidatorIndex>>, GroupRotationInfo)),
AvailabilityCores(Hash, Vec<CoreState>),
PersistedValidationData(Hash, ParaId, OccupiedCoreAssumption, Option<PersistedValidationData>),
@@ -589,19 +589,16 @@ pub(crate) enum RequestResult {
FetchOnChainVotes(Hash, Option<ScrapedOnChainVotes>),
PvfsRequirePrecheck(Hash, Vec<ValidationCodeHash>),
// This is a request with side-effects and no result, hence ().
SubmitPvfCheckStatement(Hash, PvfCheckStatement, ValidatorSignature, ()),
#[allow(dead_code)]
SubmitPvfCheckStatement(()),
ValidationCodeHash(Hash, ParaId, OccupiedCoreAssumption, Option<ValidationCodeHash>),
Version(Hash, u32),
Disputes(Hash, Vec<(SessionIndex, CandidateHash, DisputeState<BlockNumber>)>),
UnappliedSlashes(Hash, Vec<(SessionIndex, CandidateHash, slashing::PendingSlashes)>),
KeyOwnershipProof(Hash, ValidatorId, Option<slashing::OpaqueKeyOwnershipProof>),
// This is a request with side-effects.
SubmitReportDisputeLost(
Hash,
slashing::DisputeProof,
slashing::OpaqueKeyOwnershipProof,
Option<()>,
),
#[allow(dead_code)]
SubmitReportDisputeLost(Option<()>),
ApprovalVotingParams(Hash, SessionIndex, ApprovalVotingParams),
DisabledValidators(Hash, Vec<ValidatorIndex>),
ParaBackingState(Hash, ParaId, Option<async_backing::BackingState>),
+11 -8
View File
@@ -101,7 +101,7 @@ where
self.requests_cache.cache_authorities(relay_parent, authorities),
Validators(relay_parent, validators) =>
self.requests_cache.cache_validators(relay_parent, validators),
MinimumBackingVotes(_, session_index, minimum_backing_votes) => self
MinimumBackingVotes(session_index, minimum_backing_votes) => self
.requests_cache
.cache_minimum_backing_votes(session_index, minimum_backing_votes),
ValidatorGroups(relay_parent, groups) =>
@@ -155,7 +155,7 @@ where
self.requests_cache.cache_on_chain_votes(relay_parent, scraped),
PvfsRequirePrecheck(relay_parent, pvfs) =>
self.requests_cache.cache_pvfs_require_precheck(relay_parent, pvfs),
SubmitPvfCheckStatement(_, _, _, ()) => {},
SubmitPvfCheckStatement(()) => {},
ValidationCodeHash(relay_parent, para_id, assumption, hash) => self
.requests_cache
.cache_validation_code_hash((relay_parent, para_id, assumption), hash),
@@ -170,7 +170,7 @@ where
.cache_key_ownership_proof((relay_parent, validator_id), key_ownership_proof),
RequestResult::ApprovalVotingParams(_relay_parent, session_index, params) =>
self.requests_cache.cache_approval_voting_params(session_index, params),
SubmitReportDisputeLost(_, _, _, _) => {},
SubmitReportDisputeLost(_) => {},
DisabledValidators(relay_parent, disabled_validators) =>
self.requests_cache.cache_disabled_validators(relay_parent, disabled_validators),
ParaBackingState(relay_parent, para_id, constraints) => self
@@ -370,7 +370,7 @@ where
async fn poll_requests(&mut self) {
// If there are no active requests, this future should be pending forever.
if self.active_requests.len() == 0 {
return futures::pending!()
return futures::pending!();
}
// If there are active requests, this will always resolve to `Some(_)` when a request is
@@ -439,7 +439,7 @@ where
}};
($req_variant:ident, $api_name:ident ($($param:expr),*), ver = $version:expr, $sender:expr, result = ( $($results:expr),* ) ) => {{
let sender = $sender;
let version: u32 = $version; // enforce type for the version expression
let version: u32 = $version; // enforce type for the version expression
let runtime_version = client.api_version_parachain_host(relay_parent).await
.unwrap_or_else(|e| {
gum::warn!(
@@ -570,7 +570,8 @@ where
SubmitPvfCheckStatement,
submit_pvf_check_statement(stmt, signature),
ver = 2,
sender
sender,
result = ()
)
},
Request::PvfsRequirePrecheck(sender) => {
@@ -606,13 +607,15 @@ where
SubmitReportDisputeLost,
submit_report_dispute_lost(dispute_proof, key_ownership_proof),
ver = Request::SUBMIT_REPORT_DISPUTE_LOST_RUNTIME_REQUIREMENT,
sender
sender,
result = ()
),
Request::MinimumBackingVotes(index, sender) => query!(
MinimumBackingVotes,
minimum_backing_votes(index),
ver = Request::MINIMUM_BACKING_VOTES_RUNTIME_REQUIREMENT,
sender
sender,
result = (index)
),
Request::DisabledValidators(sender) => query!(
DisabledValidators,
@@ -148,6 +148,7 @@ enum ApprovalEntryError {
InvalidCandidateIndex,
DuplicateApproval,
UnknownAssignment,
#[allow(dead_code)]
AssignmentsFollowedDifferentPaths(RequiredRouting, RequiredRouting),
}
@@ -953,6 +953,7 @@ enum AdvertisementError {
/// parent.
ProtocolMisuse,
/// Advertisement is invalid.
#[allow(dead_code)]
Invalid(InsertAdvertisementError),
}
@@ -16,7 +16,7 @@
use std::collections::{HashMap, HashSet};
use futures::{future::RemoteHandle, Future, FutureExt};
use futures::{Future, FutureExt};
use polkadot_node_network_protocol::{
request_response::{
@@ -64,7 +64,7 @@ pub struct SendTask<M> {
/// Status of a particular vote/statement delivery to a particular validator.
enum DeliveryStatus {
/// Request is still in flight.
Pending(RemoteHandle<()>),
Pending,
/// Succeeded - no need to send request to this peer anymore.
Succeeded,
}
@@ -297,9 +297,8 @@ async fn send_requests<Context, M: 'static + Send + Sync>(
metrics.time_dispute_request(),
);
let (remote, remote_handle) = fut.remote_handle();
ctx.spawn("dispute-sender", remote.boxed()).map_err(FatalError::SpawnTask)?;
statuses.insert(receiver, DeliveryStatus::Pending(remote_handle));
ctx.spawn("dispute-sender", fut.boxed()).map_err(FatalError::SpawnTask)?;
statuses.insert(receiver, DeliveryStatus::Pending);
}
let msg = NetworkBridgeTxMessage::SendRequests(reqs, IfDisconnected::ImmediateError);
@@ -377,22 +377,45 @@ pub mod pallet {
const LOG_TARGET: &str = "runtime::inclusion";
/// The reason that a candidate's outputs were rejected for.
#[derive(derive_more::From)]
#[cfg_attr(feature = "std", derive(Debug))]
enum AcceptanceCheckErr<BlockNumber> {
enum AcceptanceCheckErr {
HeadDataTooLarge,
/// Code upgrades are not permitted at the current time.
PrematureCodeUpgrade,
/// The new runtime blob is too large.
NewCodeTooLarge,
/// The candidate violated this DMP acceptance criteria.
ProcessedDownwardMessages(dmp::ProcessedDownwardMessagesAcceptanceErr),
ProcessedDownwardMessages,
/// The candidate violated this UMP acceptance criteria.
UpwardMessages(UmpAcceptanceCheckErr),
UpwardMessages,
/// The candidate violated this HRMP watermark acceptance criteria.
HrmpWatermark(hrmp::HrmpWatermarkAcceptanceErr<BlockNumber>),
HrmpWatermark,
/// The candidate violated this outbound HRMP acceptance criteria.
OutboundHrmp(hrmp::OutboundHrmpAcceptanceErr),
OutboundHrmp,
}
impl From<dmp::ProcessedDownwardMessagesAcceptanceErr> for AcceptanceCheckErr {
fn from(_: dmp::ProcessedDownwardMessagesAcceptanceErr) -> Self {
Self::ProcessedDownwardMessages
}
}
impl From<UmpAcceptanceCheckErr> for AcceptanceCheckErr {
fn from(_: UmpAcceptanceCheckErr) -> Self {
Self::UpwardMessages
}
}
impl<BlockNumber> From<hrmp::HrmpWatermarkAcceptanceErr<BlockNumber>> for AcceptanceCheckErr {
fn from(_: hrmp::HrmpWatermarkAcceptanceErr<BlockNumber>) -> Self {
Self::HrmpWatermark
}
}
impl From<hrmp::OutboundHrmpAcceptanceErr> for AcceptanceCheckErr {
fn from(_: hrmp::OutboundHrmpAcceptanceErr) -> Self {
Self::OutboundHrmp
}
}
/// An error returned by [`Pallet::check_upward_messages`] that indicates a violation of one of
@@ -1145,7 +1168,7 @@ const fn availability_threshold(n_validators: usize) -> usize {
supermajority_threshold(n_validators)
}
impl<BlockNumber> AcceptanceCheckErr<BlockNumber> {
impl AcceptanceCheckErr {
/// Returns the same error so that it can be threaded through a needle of `DispatchError` and
/// ultimately returned from a `Dispatchable`.
fn strip_into_dispatch_err<T: Config>(self) -> Error<T> {
@@ -1154,10 +1177,10 @@ impl<BlockNumber> AcceptanceCheckErr<BlockNumber> {
HeadDataTooLarge => Error::<T>::HeadDataTooLarge,
PrematureCodeUpgrade => Error::<T>::PrematureCodeUpgrade,
NewCodeTooLarge => Error::<T>::NewCodeTooLarge,
ProcessedDownwardMessages(_) => Error::<T>::IncorrectDownwardMessageHandling,
UpwardMessages(_) => Error::<T>::InvalidUpwardMessages,
HrmpWatermark(_) => Error::<T>::HrmpWatermarkMishandling,
OutboundHrmp(_) => Error::<T>::InvalidOutboundHrmp,
ProcessedDownwardMessages => Error::<T>::IncorrectDownwardMessageHandling,
UpwardMessages => Error::<T>::InvalidUpwardMessages,
HrmpWatermark => Error::<T>::HrmpWatermarkMishandling,
OutboundHrmp => Error::<T>::InvalidOutboundHrmp,
}
}
}
@@ -1300,7 +1323,7 @@ impl<T: Config> CandidateCheckContext<T> {
upward_messages: &[primitives::UpwardMessage],
hrmp_watermark: BlockNumberFor<T>,
horizontal_messages: &[primitives::OutboundHrmpMessage<ParaId>],
) -> Result<(), AcceptanceCheckErr<BlockNumberFor<T>>> {
) -> Result<(), AcceptanceCheckErr> {
ensure!(
head_data.0.len() <= self.config.max_head_data_size as _,
AcceptanceCheckErr::HeadDataTooLarge,
+6 -6
View File
@@ -579,15 +579,15 @@ mod tests {
type Error = sp_blockchain::Error;
struct DummyFactory(Arc<TestClient>);
struct DummyProposer(u64, Arc<TestClient>);
struct DummyProposer(Arc<TestClient>);
impl Environment<TestBlock> for DummyFactory {
type Proposer = DummyProposer;
type CreateProposer = futures::future::Ready<Result<DummyProposer, Error>>;
type Error = Error;
fn init(&mut self, parent_header: &<TestBlock as BlockT>::Header) -> Self::CreateProposer {
futures::future::ready(Ok(DummyProposer(parent_header.number + 1, self.0.clone())))
fn init(&mut self, _: &<TestBlock as BlockT>::Header) -> Self::CreateProposer {
futures::future::ready(Ok(DummyProposer(self.0.clone())))
}
}
@@ -604,9 +604,9 @@ mod tests {
_: Duration,
_: Option<usize>,
) -> Self::Proposal {
let r = BlockBuilderBuilder::new(&*self.1)
.on_parent_block(self.1.chain_info().best_hash)
.fetch_parent_block_number(&*self.1)
let r = BlockBuilderBuilder::new(&*self.0)
.on_parent_block(self.0.chain_info().best_hash)
.fetch_parent_block_number(&*self.0)
.unwrap()
.with_inherent_digests(digests)
.build()
@@ -51,10 +51,8 @@ use std::{
#[derive(Debug)]
pub(crate) enum Event {
EventStream(TracingUnboundedSender<NetworkEvent>),
WriteNotification(PeerId, Vec<u8>),
Report(PeerId, ReputationChange),
Announce(Hash),
}
#[derive(Clone)]
@@ -146,15 +144,13 @@ impl NetworkEventStream for TestNetwork {
&self,
_name: &'static str,
) -> Pin<Box<dyn Stream<Item = NetworkEvent> + Send>> {
let (tx, rx) = tracing_unbounded("test", 100_000);
let _ = self.sender.unbounded_send(Event::EventStream(tx));
Box::pin(rx)
futures::stream::pending().boxed()
}
}
impl NetworkBlock<Hash, NumberFor<Block>> for TestNetwork {
fn announce_block(&self, hash: Hash, _data: Option<Vec<u8>>) {
let _ = self.sender.unbounded_send(Event::Announce(hash));
fn announce_block(&self, _: Hash, _data: Option<Vec<u8>>) {
unimplemented!();
}
fn new_best_block_imported(&self, _hash: Hash, _number: NumberFor<Block>) {
+3 -3
View File
@@ -163,7 +163,7 @@ fn invoke_cargo_fmt<'a>(
) -> Result<()> {
// If rustfmt is not installed, skip the check.
if !Command::new("rustup")
.args(["nightly-2024-01-22", "run", "rustfmt", "--version"])
.args(["nightly-2024-04-10", "run", "rustfmt", "--version"])
.output()
.map_or(false, |o| o.status.success())
{
@@ -171,7 +171,7 @@ fn invoke_cargo_fmt<'a>(
}
let fmt_res = Command::new("rustup")
.args(["nightly-2024-01-22", "run", "rustfmt", "--check", "--config-path"])
.args(["nightly-2024-04-10", "run", "rustfmt", "--check", "--config-path"])
.arg(config_path)
.args(files)
.output()
@@ -186,7 +186,7 @@ fn invoke_cargo_fmt<'a>(
eprintln!("{}\n{}", stdout, stderr);
eprintln!(
"Fixtures files are not formatted.\n
Please run `rustup nightly-2024-01-22 run rustfmt --config-path {} {}/*.rs`",
Please run `rustup nightly-2024-04-10 run rustfmt --config-path {} {}/*.rs`",
config_path.display(),
contract_dir.display()
);
@@ -2,7 +2,7 @@ error[E0277]: the trait bound `<T as frame_support_test::Config>::RuntimeOrigin:
--> tests/benchmark_ui/invalid_origin.rs:23:1
|
23 | #[benchmarks]
| ^^^^^^^^^^^^^ the trait `From<{integer}>` is not implemented for `<T as frame_support_test::Config>::RuntimeOrigin`
| ^^^^^^^^^^^^^ the trait `From<{integer}>` is not implemented for `<T as frame_support_test::Config>::RuntimeOrigin`, which is required by `{integer}: Into<_>`
|
= note: required for `{integer}` to implement `Into<<T as frame_support_test::Config>::RuntimeOrigin>`
= note: this error originates in the attribute macro `benchmarks` (in Nightly builds, run with -Z macro-backtrace for more info)
@@ -23,133 +23,139 @@ error: use of deprecated constant `WhereSection::_w`:
error[E0277]: the trait bound `Runtime: Config` is not satisfied
--> tests/construct_runtime_ui/deprecated_where_block.rs:20:1
|
20 | // construct_runtime! {
21 | || pub struct Runtime where
22 | || Block = Block,
23 | || NodeBlock = Block,
... ||
27 | || }
28 | || }
| ||_- in this macro invocation
20 | / construct_runtime! {
21 | | pub struct Runtime where
22 | | Block = Block,
23 | | NodeBlock = Block,
... |
27 | | }
28 | | }
| |_^ the trait `Config` is not implemented for `Runtime`
|
= note: this error originates in the macro `frame_support::construct_runtime` (in Nightly builds, run with -Z macro-backtrace for more info)
error[E0277]: the trait bound `Runtime: Config` is not satisfied
--> tests/construct_runtime_ui/deprecated_where_block.rs:20:1
|
20 | / construct_runtime! {
21 | | pub struct Runtime where
22 | | Block = Block,
23 | | NodeBlock = Block,
... |
27 | | }
28 | | }
| |_^ the trait `Config` is not implemented for `Runtime`
|
note: required by a bound in `frame_system::Event`
--> $WORKSPACE/substrate/frame/system/src/lib.rs
|
| pub enum Event<T: Config> {
| ^^^^^^ required by this bound in `Event`
= note: this error originates in the macro `frame_support::construct_runtime` which comes from the expansion of the macro `construct_runtime` (in Nightly builds, run with -Z macro-backtrace for more info)
= note: this error originates in the macro `frame_support::construct_runtime` (in Nightly builds, run with -Z macro-backtrace for more info)
error[E0277]: the trait bound `Runtime: Config` is not satisfied in `RuntimeEvent`
--> tests/construct_runtime_ui/deprecated_where_block.rs:20:1
|
20 | // construct_runtime! {
21 | || pub struct Runtime where
22 | || Block = Block,
23 | || NodeBlock = Block,
... ||
27 | || }
28 | || }
| ||_- in this macro invocation
20 | / construct_runtime! {
21 | | pub struct Runtime where
22 | | Block = Block,
23 | | NodeBlock = Block,
... |
27 | | }
28 | | }
| |_^ within `RuntimeEvent`, the trait `Config` is not implemented for `Runtime`, which is required by `RuntimeEvent: Sized`
|
note: required because it appears within the type `RuntimeEvent`
--> tests/construct_runtime_ui/deprecated_where_block.rs:20:1
|
20 | // construct_runtime! {
21 | || pub struct Runtime where
22 | || Block = Block,
23 | || NodeBlock = Block,
... ||
27 | || }
28 | || }
| ||_- in this macro invocation
20 | / construct_runtime! {
21 | | pub struct Runtime where
22 | | Block = Block,
23 | | NodeBlock = Block,
... |
27 | | }
28 | | }
| |_^
note: required by a bound in `Clone`
--> $RUST/core/src/clone.rs
|
| pub trait Clone: Sized {
| ^^^^^ required by this bound in `Clone`
= note: this error originates in the derive macro `Clone` which comes from the expansion of the macro `construct_runtime` (in Nightly builds, run with -Z macro-backtrace for more info)
= note: this error originates in the derive macro `Clone` which comes from the expansion of the macro `frame_support::construct_runtime` (in Nightly builds, run with -Z macro-backtrace for more info)
error[E0277]: the trait bound `Runtime: Config` is not satisfied in `RuntimeEvent`
--> tests/construct_runtime_ui/deprecated_where_block.rs:20:1
|
20 | // construct_runtime! {
21 | || pub struct Runtime where
22 | || Block = Block,
23 | || NodeBlock = Block,
... ||
27 | || }
28 | || }
| ||_- in this macro invocation
20 | / construct_runtime! {
21 | | pub struct Runtime where
22 | | Block = Block,
23 | | NodeBlock = Block,
... |
27 | | }
28 | | }
| |_^ within `RuntimeEvent`, the trait `Config` is not implemented for `Runtime`, which is required by `RuntimeEvent: Sized`
|
note: required because it appears within the type `RuntimeEvent`
--> tests/construct_runtime_ui/deprecated_where_block.rs:20:1
|
20 | // construct_runtime! {
21 | || pub struct Runtime where
22 | || Block = Block,
23 | || NodeBlock = Block,
... ||
27 | || }
28 | || }
| ||_- in this macro invocation
20 | / construct_runtime! {
21 | | pub struct Runtime where
22 | | Block = Block,
23 | | NodeBlock = Block,
... |
27 | | }
28 | | }
| |_^
note: required by a bound in `EncodeLike`
--> $CARGO/parity-scale-codec-3.6.5/src/encode_like.rs
|
| pub trait EncodeLike<T: Encode = Self>: Sized + Encode {}
| ^^^^^ required by this bound in `EncodeLike`
= note: this error originates in the macro `frame_support::construct_runtime` which comes from the expansion of the macro `construct_runtime` (in Nightly builds, run with -Z macro-backtrace for more info)
= note: this error originates in the macro `frame_support::construct_runtime` (in Nightly builds, run with -Z macro-backtrace for more info)
error[E0277]: the trait bound `Runtime: Config` is not satisfied in `RuntimeEvent`
--> tests/construct_runtime_ui/deprecated_where_block.rs:20:1
|
20 | // construct_runtime! {
21 | || pub struct Runtime where
22 | || Block = Block,
23 | || NodeBlock = Block,
... ||
27 | || }
28 | || }
| ||_- in this macro invocation
20 | / construct_runtime! {
21 | | pub struct Runtime where
22 | | Block = Block,
23 | | NodeBlock = Block,
... |
27 | | }
28 | | }
| |_^ within `RuntimeEvent`, the trait `Config` is not implemented for `Runtime`, which is required by `RuntimeEvent: Sized`
|
note: required because it appears within the type `RuntimeEvent`
--> tests/construct_runtime_ui/deprecated_where_block.rs:20:1
|
20 | // construct_runtime! {
21 | || pub struct Runtime where
22 | || Block = Block,
23 | || NodeBlock = Block,
... ||
27 | || }
28 | || }
| ||_- in this macro invocation
20 | / construct_runtime! {
21 | | pub struct Runtime where
22 | | Block = Block,
23 | | NodeBlock = Block,
... |
27 | | }
28 | | }
| |_^
note: required by a bound in `Decode`
--> $CARGO/parity-scale-codec-3.6.5/src/codec.rs
|
| pub trait Decode: Sized {
| ^^^^^ required by this bound in `Decode`
= note: this error originates in the macro `frame_support::construct_runtime` which comes from the expansion of the macro `construct_runtime` (in Nightly builds, run with -Z macro-backtrace for more info)
= note: this error originates in the macro `frame_support::construct_runtime` (in Nightly builds, run with -Z macro-backtrace for more info)
error[E0277]: the trait bound `Runtime: Config` is not satisfied in `frame_system::Event<Runtime>`
--> tests/construct_runtime_ui/deprecated_where_block.rs:20:1
|
20 | // construct_runtime! {
21 | || pub struct Runtime where
22 | || Block = Block,
23 | || NodeBlock = Block,
... ||
27 | || }
28 | || }
| ||_- in this macro invocation
20 | / construct_runtime! {
21 | | pub struct Runtime where
22 | | Block = Block,
23 | | NodeBlock = Block,
... |
27 | | }
28 | | }
| |_^ within `frame_system::Event<Runtime>`, the trait `Config` is not implemented for `Runtime`, which is required by `frame_system::Event<Runtime>: Sized`
|
note: required because it appears within the type `Event<Runtime>`
note: required because it appears within the type `frame_system::Event<Runtime>`
--> $WORKSPACE/substrate/frame/system/src/lib.rs
|
| pub enum Event<T: Config> {
@@ -159,22 +165,21 @@ note: required by a bound in `From`
|
| pub trait From<T>: Sized {
| ^ required by this bound in `From`
= note: this error originates in the macro `frame_support::construct_runtime` which comes from the expansion of the macro `construct_runtime` (in Nightly builds, run with -Z macro-backtrace for more info)
= note: this error originates in the macro `frame_support::construct_runtime` (in Nightly builds, run with -Z macro-backtrace for more info)
error[E0277]: the trait bound `Runtime: Config` is not satisfied in `frame_system::Event<Runtime>`
--> tests/construct_runtime_ui/deprecated_where_block.rs:20:1
|
20 | // construct_runtime! {
21 | || pub struct Runtime where
22 | || Block = Block,
23 | || NodeBlock = Block,
... ||
27 | || }
28 | || }
| ||_- in this macro invocation
20 | / construct_runtime! {
21 | | pub struct Runtime where
22 | | Block = Block,
23 | | NodeBlock = Block,
... |
27 | | }
28 | | }
| |_^ within `frame_system::Event<Runtime>`, the trait `Config` is not implemented for `Runtime`, which is required by `frame_system::Event<Runtime>: Sized`
|
note: required because it appears within the type `Event<Runtime>`
note: required because it appears within the type `frame_system::Event<Runtime>`
--> $WORKSPACE/substrate/frame/system/src/lib.rs
|
| pub enum Event<T: Config> {
@@ -184,22 +189,7 @@ note: required by a bound in `TryInto`
|
| pub trait TryInto<T>: Sized {
| ^ required by this bound in `TryInto`
= note: this error originates in the macro `frame_support::construct_runtime` which comes from the expansion of the macro `construct_runtime` (in Nightly builds, run with -Z macro-backtrace for more info)
error[E0277]: the trait bound `Runtime: Config` is not satisfied
--> tests/construct_runtime_ui/deprecated_where_block.rs:20:1
|
20 | // construct_runtime! {
21 | || pub struct Runtime where
22 | || Block = Block,
23 | || NodeBlock = Block,
... ||
27 | || }
28 | || }
| ||_- in this macro invocation
... |
|
= note: this error originates in the macro `frame_support::construct_runtime` which comes from the expansion of the macro `construct_runtime` (in Nightly builds, run with -Z macro-backtrace for more info)
= note: this error originates in the macro `frame_support::construct_runtime` (in Nightly builds, run with -Z macro-backtrace for more info)
error[E0277]: the trait bound `Runtime: Config` is not satisfied
--> tests/construct_runtime_ui/deprecated_where_block.rs:20:1
@@ -212,134 +202,157 @@ error[E0277]: the trait bound `Runtime: Config` is not satisfied
error[E0277]: the trait bound `RawOrigin<_>: TryFrom<OriginCaller>` is not satisfied
--> tests/construct_runtime_ui/deprecated_where_block.rs:20:1
|
20 | // construct_runtime! {
21 | || pub struct Runtime where
22 | || Block = Block,
23 | || NodeBlock = Block,
... ||
27 | || }
28 | || }
| ||_- in this macro invocation
20 | / construct_runtime! {
21 | | pub struct Runtime where
22 | | Block = Block,
23 | | NodeBlock = Block,
... |
27 | | }
28 | | }
| |_^ the trait `TryFrom<OriginCaller>` is not implemented for `RawOrigin<_>`
|
= help: the trait `TryFrom<OriginCaller>` is implemented for `RawOrigin<<Runtime as Config>::AccountId>`
= note: this error originates in the macro `frame_support::construct_runtime` which comes from the expansion of the macro `construct_runtime` (in Nightly builds, run with -Z macro-backtrace for more info)
= note: this error originates in the macro `frame_support::construct_runtime` (in Nightly builds, run with -Z macro-backtrace for more info)
error[E0277]: the trait bound `Runtime: Config` is not satisfied
--> tests/construct_runtime_ui/deprecated_where_block.rs:20:1
|
20 | // construct_runtime! {
21 | || pub struct Runtime where
22 | || Block = Block,
23 | || NodeBlock = Block,
... ||
27 | || }
28 | || }
| ||_- in this macro invocation
20 | / construct_runtime! {
21 | | pub struct Runtime where
22 | | Block = Block,
23 | | NodeBlock = Block,
... |
27 | | }
28 | | }
| |_^ the trait `Config` is not implemented for `Runtime`, which is required by `Pallet<Runtime>: Callable<Runtime>`
|
= help: the trait `Callable<T>` is implemented for `Pallet<T>`
= note: required for `Pallet<Runtime>` to implement `Callable<Runtime>`
= note: this error originates in the macro `frame_support::construct_runtime` which comes from the expansion of the macro `construct_runtime` (in Nightly builds, run with -Z macro-backtrace for more info)
= note: this error originates in the macro `frame_support::construct_runtime` (in Nightly builds, run with -Z macro-backtrace for more info)
error[E0277]: the trait bound `Runtime: Config` is not satisfied
--> tests/construct_runtime_ui/deprecated_where_block.rs:20:1
|
20 | // construct_runtime! {
21 | || pub struct Runtime where
22 | || Block = Block,
23 | || NodeBlock = Block,
... ||
27 | || }
28 | || }
| ||_- in this macro invocation
20 | / construct_runtime! {
21 | | pub struct Runtime where
22 | | Block = Block,
23 | | NodeBlock = Block,
... |
27 | | }
28 | | }
| |_^ the trait `Config` is not implemented for `Runtime`, which is required by `RuntimeCall: Sized`
|
= note: required for `Pallet<Runtime>` to implement `Callable<Runtime>`
note: required because it appears within the type `RuntimeCall`
--> tests/construct_runtime_ui/deprecated_where_block.rs:20:1
|
20 | // construct_runtime! {
21 | || pub struct Runtime where
22 | || Block = Block,
23 | || NodeBlock = Block,
... ||
27 | || }
28 | || }
| ||_- in this macro invocation
20 | / construct_runtime! {
21 | | pub struct Runtime where
22 | | Block = Block,
23 | | NodeBlock = Block,
... |
27 | | }
28 | | }
| |_^
note: required by a bound in `Clone`
--> $RUST/core/src/clone.rs
|
| pub trait Clone: Sized {
| ^^^^^ required by this bound in `Clone`
= note: this error originates in the derive macro `Clone` which comes from the expansion of the macro `construct_runtime` (in Nightly builds, run with -Z macro-backtrace for more info)
= note: this error originates in the derive macro `Clone` which comes from the expansion of the macro `frame_support::construct_runtime` (in Nightly builds, run with -Z macro-backtrace for more info)
error[E0277]: the trait bound `Runtime: Config` is not satisfied
--> tests/construct_runtime_ui/deprecated_where_block.rs:20:1
|
20 | // construct_runtime! {
21 | || pub struct Runtime where
22 | || Block = Block,
23 | || NodeBlock = Block,
... ||
27 | || }
28 | || }
| ||_- in this macro invocation
20 | / construct_runtime! {
21 | | pub struct Runtime where
22 | | Block = Block,
23 | | NodeBlock = Block,
... |
27 | | }
28 | | }
| |_^ the trait `Config` is not implemented for `Runtime`, which is required by `RuntimeCall: Sized`
|
= note: required for `Pallet<Runtime>` to implement `Callable<Runtime>`
note: required because it appears within the type `RuntimeCall`
--> tests/construct_runtime_ui/deprecated_where_block.rs:20:1
|
20 | // construct_runtime! {
21 | || pub struct Runtime where
22 | || Block = Block,
23 | || NodeBlock = Block,
... ||
27 | || }
28 | || }
| ||_- in this macro invocation
20 | / construct_runtime! {
21 | | pub struct Runtime where
22 | | Block = Block,
23 | | NodeBlock = Block,
... |
27 | | }
28 | | }
| |_^
note: required by a bound in `EncodeLike`
--> $CARGO/parity-scale-codec-3.6.5/src/encode_like.rs
|
| pub trait EncodeLike<T: Encode = Self>: Sized + Encode {}
| ^^^^^ required by this bound in `EncodeLike`
= note: this error originates in the macro `frame_support::construct_runtime` which comes from the expansion of the macro `construct_runtime` (in Nightly builds, run with -Z macro-backtrace for more info)
= note: this error originates in the macro `frame_support::construct_runtime` (in Nightly builds, run with -Z macro-backtrace for more info)
error[E0277]: the trait bound `Runtime: Config` is not satisfied
--> tests/construct_runtime_ui/deprecated_where_block.rs:20:1
|
20 | // construct_runtime! {
21 | || pub struct Runtime where
22 | || Block = Block,
23 | || NodeBlock = Block,
... ||
27 | || }
28 | || }
| ||_- in this macro invocation
20 | / construct_runtime! {
21 | | pub struct Runtime where
22 | | Block = Block,
23 | | NodeBlock = Block,
... |
27 | | }
28 | | }
| |_^ the trait `Config` is not implemented for `Runtime`, which is required by `RuntimeCall: Sized`
|
= note: required for `Pallet<Runtime>` to implement `Callable<Runtime>`
note: required because it appears within the type `RuntimeCall`
--> tests/construct_runtime_ui/deprecated_where_block.rs:20:1
|
20 | // construct_runtime! {
21 | || pub struct Runtime where
22 | || Block = Block,
23 | || NodeBlock = Block,
... ||
27 | || }
28 | || }
| ||_- in this macro invocation
20 | / construct_runtime! {
21 | | pub struct Runtime where
22 | | Block = Block,
23 | | NodeBlock = Block,
... |
27 | | }
28 | | }
| |_^
note: required by a bound in `Decode`
--> $CARGO/parity-scale-codec-3.6.5/src/codec.rs
|
| pub trait Decode: Sized {
| ^^^^^ required by this bound in `Decode`
= note: this error originates in the macro `frame_support::construct_runtime` which comes from the expansion of the macro `construct_runtime` (in Nightly builds, run with -Z macro-backtrace for more info)
= note: this error originates in the macro `frame_support::construct_runtime` (in Nightly builds, run with -Z macro-backtrace for more info)
error[E0277]: the trait bound `Runtime: Config` is not satisfied
--> tests/construct_runtime_ui/deprecated_where_block.rs:20:1
|
20 | / construct_runtime! {
21 | | pub struct Runtime where
22 | | Block = Block,
23 | | NodeBlock = Block,
... |
27 | | }
28 | | }
| |_^ the trait `Config` is not implemented for `Runtime`, which is required by `RuntimeCall: Sized`
|
= note: required for `Pallet<Runtime>` to implement `Callable<Runtime>`
note: required because it appears within the type `RuntimeCall`
--> tests/construct_runtime_ui/deprecated_where_block.rs:20:1
|
20 | / construct_runtime! {
21 | | pub struct Runtime where
22 | | Block = Block,
23 | | NodeBlock = Block,
... |
27 | | }
28 | | }
| |_^
note: required by a bound in `frame_support::sp_runtime::traits::Dispatchable::Config`
--> $WORKSPACE/substrate/primitives/runtime/src/traits.rs
|
| type Config;
| ^^^^^^^^^^^^ required by this bound in `Dispatchable::Config`
= note: this error originates in the macro `frame_support::construct_runtime` (in Nightly builds, run with -Z macro-backtrace for more info)
error[E0277]: the trait bound `Runtime: Config` is not satisfied
--> tests/construct_runtime_ui/deprecated_where_block.rs:26:3
@@ -353,165 +366,124 @@ note: required by a bound in `GenesisConfig`
| pub struct GenesisConfig<T: Config> {
| ^^^^^^ required by this bound in `GenesisConfig`
error[E0277]: the trait bound `Runtime: Config` is not satisfied in `RuntimeEvent`
--> tests/construct_runtime_ui/deprecated_where_block.rs:20:1
|
20 | // construct_runtime! {
21 | || pub struct Runtime where
22 | || Block = Block,
23 | || NodeBlock = Block,
... ||
27 | || }
28 | || }
| ||_- in this macro invocation
... |
|
note: required because it appears within the type `RuntimeEvent`
--> tests/construct_runtime_ui/deprecated_where_block.rs:20:1
|
20 | // construct_runtime! {
21 | || pub struct Runtime where
22 | || Block = Block,
23 | || NodeBlock = Block,
... ||
27 | || }
28 | || }
| ||_- in this macro invocation
... |
note: required by a bound in `Result`
--> $RUST/core/src/result.rs
|
| pub enum Result<T, E> {
| ^ required by this bound in `Result`
= note: this error originates in the derive macro `self::sp_api_hidden_includes_construct_runtime::hidden_include::__private::codec::Decode` which comes from the expansion of the macro `construct_runtime` (in Nightly builds, run with -Z macro-backtrace for more info)
error[E0277]: the trait bound `Runtime: Config` is not satisfied in `RuntimeEvent`
--> tests/construct_runtime_ui/deprecated_where_block.rs:20:1
|
20 | // construct_runtime! {
21 | || pub struct Runtime where
22 | || Block = Block,
23 | || NodeBlock = Block,
... ||
27 | || }
28 | || }
| ||_- in this macro invocation
... |
|
note: required because it appears within the type `RuntimeEvent`
--> tests/construct_runtime_ui/deprecated_where_block.rs:20:1
|
20 | // construct_runtime! {
21 | || pub struct Runtime where
22 | || Block = Block,
23 | || NodeBlock = Block,
... ||
27 | || }
28 | || }
| ||_- in this macro invocation
... |
note: required by a bound in `TryInto`
--> $RUST/core/src/convert/mod.rs
|
| pub trait TryInto<T>: Sized {
| ^^^^^ required by this bound in `TryInto`
= note: this error originates in the macro `frame_support::construct_runtime` which comes from the expansion of the macro `construct_runtime` (in Nightly builds, run with -Z macro-backtrace for more info)
error[E0277]: the trait bound `Runtime: Config` is not satisfied
--> tests/construct_runtime_ui/deprecated_where_block.rs:20:1
|
20 | // construct_runtime! {
21 | || pub struct Runtime where
22 | || Block = Block,
23 | || NodeBlock = Block,
... ||
27 | || }
28 | || }
| ||_- in this macro invocation
20 | / construct_runtime! {
21 | | pub struct Runtime where
22 | | Block = Block,
23 | | NodeBlock = Block,
... |
27 | | }
28 | | }
| |_^ the trait `Config` is not implemented for `Runtime`, which is required by `RuntimeCall: Sized`
|
= note: required for `Pallet<Runtime>` to implement `Callable<Runtime>`
note: required because it appears within the type `RuntimeCall`
--> tests/construct_runtime_ui/deprecated_where_block.rs:20:1
|
20 | // construct_runtime! {
21 | || pub struct Runtime where
22 | || Block = Block,
23 | || NodeBlock = Block,
... ||
27 | || }
28 | || }
| ||_- in this macro invocation
... |
note: required by a bound in `Result`
--> $RUST/core/src/result.rs
|
| pub enum Result<T, E> {
| ^ required by this bound in `Result`
= note: this error originates in the derive macro `self::sp_api_hidden_includes_construct_runtime::hidden_include::__private::codec::Decode` which comes from the expansion of the macro `construct_runtime` (in Nightly builds, run with -Z macro-backtrace for more info)
error[E0277]: the trait bound `Runtime: Config` is not satisfied
--> tests/construct_runtime_ui/deprecated_where_block.rs:20:1
|
20 | // construct_runtime! {
21 | || pub struct Runtime where
22 | || Block = Block,
23 | || NodeBlock = Block,
... ||
27 | || }
28 | || }
| ||_- in this macro invocation
... |
|
= note: required for `Pallet<Runtime>` to implement `Callable<Runtime>`
note: required because it appears within the type `RuntimeCall`
--> tests/construct_runtime_ui/deprecated_where_block.rs:20:1
|
20 | // construct_runtime! {
21 | || pub struct Runtime where
22 | || Block = Block,
23 | || NodeBlock = Block,
... ||
27 | || }
28 | || }
| ||_- in this macro invocation
... |
note: required by a bound in `frame_support::sp_runtime::traits::Dispatchable::Config`
--> $WORKSPACE/substrate/primitives/runtime/src/traits.rs
|
| type Config;
| ^^^^^^^^^^^^ required by this bound in `Dispatchable::Config`
= note: this error originates in the macro `frame_support::construct_runtime` which comes from the expansion of the macro `construct_runtime` (in Nightly builds, run with -Z macro-backtrace for more info)
error[E0277]: the trait bound `Runtime: Config` is not satisfied
--> tests/construct_runtime_ui/deprecated_where_block.rs:20:1
|
20 | // construct_runtime! {
21 | || pub struct Runtime where
22 | || Block = Block,
23 | || NodeBlock = Block,
... ||
27 | || }
28 | || }
| ||_- in this macro invocation
... |
|
= note: required for `Pallet<Runtime>` to implement `Callable<Runtime>`
note: required because it appears within the type `RuntimeCall`
--> tests/construct_runtime_ui/deprecated_where_block.rs:20:1
|
20 | // construct_runtime! {
21 | || pub struct Runtime where
22 | || Block = Block,
23 | || NodeBlock = Block,
... ||
27 | || }
28 | || }
| ||_- in this macro invocation
20 | / construct_runtime! {
21 | | pub struct Runtime where
22 | | Block = Block,
23 | | NodeBlock = Block,
... |
27 | | }
28 | | }
| |_^
note: required by a bound in `frame_support::pallet_prelude::ValidateUnsigned::Call`
--> $WORKSPACE/substrate/primitives/runtime/src/traits.rs
|
| type Call;
| ^^^^^^^^^^ required by this bound in `ValidateUnsigned::Call`
= note: this error originates in the macro `frame_support::construct_runtime` which comes from the expansion of the macro `construct_runtime` (in Nightly builds, run with -Z macro-backtrace for more info)
= note: this error originates in the macro `frame_support::construct_runtime` (in Nightly builds, run with -Z macro-backtrace for more info)
error[E0277]: the trait bound `Runtime: Config` is not satisfied in `RuntimeEvent`
--> tests/construct_runtime_ui/deprecated_where_block.rs:20:1
|
20 | / construct_runtime! {
21 | | pub struct Runtime where
22 | | Block = Block,
23 | | NodeBlock = Block,
... |
27 | | }
28 | | }
| |_^ within `RuntimeEvent`, the trait `Config` is not implemented for `Runtime`, which is required by `RuntimeEvent: Sized`
|
note: required because it appears within the type `RuntimeEvent`
--> tests/construct_runtime_ui/deprecated_where_block.rs:20:1
|
20 | / construct_runtime! {
21 | | pub struct Runtime where
22 | | Block = Block,
23 | | NodeBlock = Block,
... |
27 | | }
28 | | }
| |_^
note: required by a bound in `Result`
--> $RUST/core/src/result.rs
|
| pub enum Result<T, E> {
| ^ required by this bound in `Result`
= note: this error originates in the derive macro `self::sp_api_hidden_includes_construct_runtime::hidden_include::__private::codec::Decode` which comes from the expansion of the macro `frame_support::construct_runtime` (in Nightly builds, run with -Z macro-backtrace for more info)
error[E0277]: the trait bound `Runtime: Config` is not satisfied in `RuntimeEvent`
--> tests/construct_runtime_ui/deprecated_where_block.rs:20:1
|
20 | / construct_runtime! {
21 | | pub struct Runtime where
22 | | Block = Block,
23 | | NodeBlock = Block,
... |
27 | | }
28 | | }
| |_^ within `RuntimeEvent`, the trait `Config` is not implemented for `Runtime`, which is required by `RuntimeEvent: Sized`
|
note: required because it appears within the type `RuntimeEvent`
--> tests/construct_runtime_ui/deprecated_where_block.rs:20:1
|
20 | / construct_runtime! {
21 | | pub struct Runtime where
22 | | Block = Block,
23 | | NodeBlock = Block,
... |
27 | | }
28 | | }
| |_^
note: required by a bound in `TryInto`
--> $RUST/core/src/convert/mod.rs
|
| pub trait TryInto<T>: Sized {
| ^^^^^ required by this bound in `TryInto`
= note: this error originates in the macro `frame_support::construct_runtime` (in Nightly builds, run with -Z macro-backtrace for more info)
error[E0277]: the trait bound `Runtime: Config` is not satisfied
--> tests/construct_runtime_ui/deprecated_where_block.rs:20:1
|
20 | / construct_runtime! {
21 | | pub struct Runtime where
22 | | Block = Block,
23 | | NodeBlock = Block,
... |
27 | | }
28 | | }
| |_^ the trait `Config` is not implemented for `Runtime`, which is required by `RuntimeCall: Sized`
|
= note: required for `Pallet<Runtime>` to implement `Callable<Runtime>`
note: required because it appears within the type `RuntimeCall`
--> tests/construct_runtime_ui/deprecated_where_block.rs:20:1
|
20 | / construct_runtime! {
21 | | pub struct Runtime where
22 | | Block = Block,
23 | | NodeBlock = Block,
... |
27 | | }
28 | | }
| |_^
note: required by a bound in `Result`
--> $RUST/core/src/result.rs
|
| pub enum Result<T, E> {
| ^ required by this bound in `Result`
= note: this error originates in the derive macro `self::sp_api_hidden_includes_construct_runtime::hidden_include::__private::codec::Decode` which comes from the expansion of the macro `frame_support::construct_runtime` (in Nightly builds, run with -Z macro-backtrace for more info)
@@ -5,23 +5,16 @@ error: The number of pallets exceeds the maximum number of tuple elements. To in
| ^^^
error: recursion limit reached while expanding `frame_support::__private::tt_return!`
--> tests/construct_runtime_ui/number_of_pallets_exceeds_tuple_size.rs:22:1
--> tests/construct_runtime_ui/number_of_pallets_exceeds_tuple_size.rs:66:1
|
22 | / #[frame_support::pallet]
23 | | mod pallet {
24 | | #[pallet::config]
25 | | pub trait Config: frame_system::Config {}
66 | / construct_runtime! {
67 | | pub struct Runtime
68 | | {
69 | | System: frame_system::{Pallet, Call, Storage, Config<T>, Event<T>},
... |
66 | |/ construct_runtime! {
67 | || pub struct Runtime
68 | || {
69 | || System: frame_system::{Pallet, Call, Storage, Config<T>, Event<T>},
... ||
180 | || }
181 | || }
| ||_^
| |_|
| in this macro invocation
180 | | }
181 | | }
| |_^
|
= help: consider increasing the recursion limit by adding a `#![recursion_limit = "256"]` attribute to your crate (`$CRATE`)
= note: this error originates in the macro `construct_runtime` (in Nightly builds, run with -Z macro-backtrace for more info)
@@ -10,4 +10,4 @@ error[E0080]: evaluation of constant value failed
97 | | }
| |_^ the evaluated program panicked at 'The maximum encoded size of the error type in the `Pallet` pallet exceeds `MAX_MODULE_ERROR_ENCODED_SIZE`', $DIR/tests/construct_runtime_ui/pallet_error_too_large.rs:91:1
|
= note: this error originates in the macro `$crate::panic::panic_2021` which comes from the expansion of the macro `construct_runtime` (in Nightly builds, run with -Z macro-backtrace for more info)
= note: this error originates in the macro `$crate::panic::panic_2021` which comes from the expansion of the macro `frame_support::construct_runtime` (in Nightly builds, run with -Z macro-backtrace for more info)
@@ -13,4 +13,4 @@ error: `Pallet` does not have #[pallet::call] defined, perhaps you should remove
72 | | }
| |_- in this macro invocation
|
= note: this error originates in the macro `pallet::__substrate_call_check::is_call_part_defined` which comes from the expansion of the macro `construct_runtime` (in Nightly builds, run with -Z macro-backtrace for more info)
= note: this error originates in the macro `pallet::__substrate_call_check::is_call_part_defined` which comes from the expansion of the macro `frame_support::construct_runtime` (in Nightly builds, run with -Z macro-backtrace for more info)
@@ -13,7 +13,7 @@ error: `Pallet` does not have #[pallet::validate_unsigned] defined, perhaps you
72 | | }
| |_- in this macro invocation
|
= note: this error originates in the macro `pallet::__substrate_validate_unsigned_check::is_validate_unsigned_part_defined` which comes from the expansion of the macro `construct_runtime` (in Nightly builds, run with -Z macro-backtrace for more info)
= note: this error originates in the macro `pallet::__substrate_validate_unsigned_check::is_validate_unsigned_part_defined` which comes from the expansion of the macro `frame_support::construct_runtime` (in Nightly builds, run with -Z macro-backtrace for more info)
error[E0599]: no variant or associated item named `Pallet` found for enum `RuntimeCall` in the current scope
--> tests/construct_runtime_ui/undefined_validate_unsigned_part.rs:70:3
@@ -26,54 +26,50 @@ error[E0599]: no variant or associated item named `Pallet` found for enum `Runti
| || -^^^^^^ variant or associated item not found in `RuntimeCall`
| ||________|
| |
... |
71 | | }
72 | | }
| |__- variant or associated item `Pallet` not found for this enum
error[E0599]: no function or associated item named `pre_dispatch` found for struct `pallet::Pallet` in the current scope
--> tests/construct_runtime_ui/undefined_validate_unsigned_part.rs:66:1
|
28 | pub struct Pallet<T>(_);
| -------------------- function or associated item `pre_dispatch` not found for this struct
28 | pub struct Pallet<T>(_);
| -------------------- function or associated item `pre_dispatch` not found for this struct
...
66 | construct_runtime! {
| __^
| | _|
| ||
67 | || pub struct Runtime
68 | || {
69 | || System: frame_system::{Pallet, Call, Storage, Config<T>, Event<T>},
70 | || Pallet: pallet::{Pallet, ValidateUnsigned},
71 | || }
72 | || }
| ||_- in this macro invocation
... |
66 | construct_runtime! {
| _^
67 | | pub struct Runtime
68 | | {
69 | | System: frame_system::{Pallet, Call, Storage, Config<T>, Event<T>},
70 | | Pallet: pallet::{Pallet, ValidateUnsigned},
71 | | }
72 | | }
| |_^ function or associated item not found in `Pallet<Runtime>`
|
= help: items from traits can only be used if the trait is implemented and in scope
= note: the following traits define an item `pre_dispatch`, perhaps you need to implement one of them:
candidate #1: `SignedExtension`
candidate #2: `ValidateUnsigned`
= note: this error originates in the macro `frame_support::construct_runtime` which comes from the expansion of the macro `construct_runtime` (in Nightly builds, run with -Z macro-backtrace for more info)
= note: this error originates in the macro `frame_support::construct_runtime` (in Nightly builds, run with -Z macro-backtrace for more info)
error[E0599]: no function or associated item named `validate_unsigned` found for struct `pallet::Pallet` in the current scope
--> tests/construct_runtime_ui/undefined_validate_unsigned_part.rs:66:1
|
28 | pub struct Pallet<T>(_);
| -------------------- function or associated item `validate_unsigned` not found for this struct
28 | pub struct Pallet<T>(_);
| -------------------- function or associated item `validate_unsigned` not found for this struct
...
66 | construct_runtime! {
| __^
| | _|
| ||
67 | || pub struct Runtime
68 | || {
69 | || System: frame_system::{Pallet, Call, Storage, Config<T>, Event<T>},
70 | || Pallet: pallet::{Pallet, ValidateUnsigned},
71 | || }
72 | || }
| ||_- in this macro invocation
... |
66 | construct_runtime! {
| _^
67 | | pub struct Runtime
68 | | {
69 | | System: frame_system::{Pallet, Call, Storage, Config<T>, Event<T>},
70 | | Pallet: pallet::{Pallet, ValidateUnsigned},
71 | | }
72 | | }
| |_^ function or associated item not found in `Pallet<Runtime>`
|
= help: items from traits can only be used if the trait is implemented and in scope
= note: the following traits define an item `validate_unsigned`, perhaps you need to implement one of them:
candidate #1: `SignedExtension`
candidate #2: `ValidateUnsigned`
= note: this error originates in the macro `frame_support::construct_runtime` which comes from the expansion of the macro `construct_runtime` (in Nightly builds, run with -Z macro-backtrace for more info)
= note: this error originates in the macro `frame_support::construct_runtime` (in Nightly builds, run with -Z macro-backtrace for more info)
@@ -24,6 +24,7 @@ use frame_support::{
};
#[derive(RuntimeDebugNoBound)]
#[allow(dead_code)]
struct Unnamed(u64);
#[test]
@@ -18,7 +18,7 @@ error[E0277]: `<T as pallet::Config>::Bar` doesn't implement `std::fmt::Debug`
38 | pub fn foo(origin: OriginFor<T>, _bar: T::Bar) -> DispatchResultWithPostInfo {
| ^^^^ `<T as pallet::Config>::Bar` cannot be formatted using `{:?}` because it doesn't implement `std::fmt::Debug`
|
= help: the trait `std::fmt::Debug` is not implemented for `<T as pallet::Config>::Bar`
= help: the trait `std::fmt::Debug` is not implemented for `<T as pallet::Config>::Bar`, which is required by `&<T as pallet::Config>::Bar: std::fmt::Debug`
= note: required for `&<T as pallet::Config>::Bar` to implement `std::fmt::Debug`
= note: required for the cast from `&&<T as pallet::Config>::Bar` to `&dyn std::fmt::Debug`
@@ -18,7 +18,7 @@ error[E0277]: `<T as pallet::Config>::Bar` doesn't implement `std::fmt::Debug`
38 | pub fn foo(origin: OriginFor<T>, _bar: T::Bar) -> DispatchResultWithPostInfo {
| ^^^^ `<T as pallet::Config>::Bar` cannot be formatted using `{:?}` because it doesn't implement `std::fmt::Debug`
|
= help: the trait `std::fmt::Debug` is not implemented for `<T as pallet::Config>::Bar`
= help: the trait `std::fmt::Debug` is not implemented for `<T as pallet::Config>::Bar`, which is required by `&<T as pallet::Config>::Bar: std::fmt::Debug`
= note: required for `&<T as pallet::Config>::Bar` to implement `std::fmt::Debug`
= note: required for the cast from `&&<T as pallet::Config>::Bar` to `&dyn std::fmt::Debug`
@@ -41,7 +41,7 @@ error[E0277]: the trait bound `<T as pallet::Config>::Bar: WrapperTypeEncode` is
| ------------------------ required by a bound introduced by this call
...
38 | pub fn foo(origin: OriginFor<T>, _bar: T::Bar) -> DispatchResultWithPostInfo {
| ^^^^ the trait `WrapperTypeEncode` is not implemented for `<T as pallet::Config>::Bar`
| ^^^^ the trait `WrapperTypeEncode` is not implemented for `<T as pallet::Config>::Bar`, which is required by `<T as pallet::Config>::Bar: Encode`
|
= note: required for `<T as pallet::Config>::Bar` to implement `Encode`
@@ -49,6 +49,6 @@ error[E0277]: the trait bound `<T as pallet::Config>::Bar: WrapperTypeDecode` is
--> tests/pallet_ui/call_argument_invalid_bound_2.rs:38:42
|
38 | pub fn foo(origin: OriginFor<T>, _bar: T::Bar) -> DispatchResultWithPostInfo {
| ^^^^^^ the trait `WrapperTypeDecode` is not implemented for `<T as pallet::Config>::Bar`
| ^^^^^^ the trait `WrapperTypeDecode` is not implemented for `<T as pallet::Config>::Bar`, which is required by `<T as pallet::Config>::Bar: Decode`
|
= note: required for `<T as pallet::Config>::Bar` to implement `Decode`
@@ -18,7 +18,7 @@ error[E0277]: `Bar` doesn't implement `std::fmt::Debug`
40 | pub fn foo(origin: OriginFor<T>, _bar: Bar) -> DispatchResultWithPostInfo {
| ^^^^ `Bar` cannot be formatted using `{:?}`
|
= help: the trait `std::fmt::Debug` is not implemented for `Bar`
= help: the trait `std::fmt::Debug` is not implemented for `Bar`, which is required by `&Bar: std::fmt::Debug`
= note: add `#[derive(Debug)]` to `Bar` or manually `impl std::fmt::Debug for Bar`
= note: required for `&Bar` to implement `std::fmt::Debug`
= note: required for the cast from `&&Bar` to `&dyn std::fmt::Debug`
@@ -35,7 +35,7 @@ error[E0277]: the trait bound `Vec<u8>: MaxEncodedLen` is not satisfied
... |
35 | | #[pallet::storage]
36 | | type MyStorage<T: Config> = StorageValue<_, Vec<u8>>;
| |__________________^ the trait `MaxEncodedLen` is not implemented for `Vec<u8>`
| |__________________^ the trait `MaxEncodedLen` is not implemented for `Vec<u8>`, which is required by `frame_support::pallet_prelude::StorageValue<_GeneratedPrefixForStorageMyStorage<T>, Vec<u8>>: StorageInfoTrait`
|
= help: the following other types implement trait `MaxEncodedLen`:
bool
@@ -16,6 +16,6 @@ error[E0277]: `<T as pallet::Config>::Bar` doesn't implement `std::fmt::Debug`
41 | B { b: T::Bar },
| ^ `<T as pallet::Config>::Bar` cannot be formatted using `{:?}` because it doesn't implement `std::fmt::Debug`
|
= help: the trait `std::fmt::Debug` is not implemented for `<T as pallet::Config>::Bar`
= help: the trait `std::fmt::Debug` is not implemented for `<T as pallet::Config>::Bar`, which is required by `&<T as pallet::Config>::Bar: std::fmt::Debug`
= note: required for `&<T as pallet::Config>::Bar` to implement `std::fmt::Debug`
= note: required for the cast from `&&<T as pallet::Config>::Bar` to `&dyn std::fmt::Debug`
@@ -9,7 +9,7 @@ error[E0277]: the trait bound `Bar: WrapperTypeDecode` is not satisfied
... |
38 | | #[pallet::storage]
39 | | type Foo<T> = StorageValue<Value = Bar>;
| |____________^ the trait `WrapperTypeDecode` is not implemented for `Bar`
| |____________^ the trait `WrapperTypeDecode` is not implemented for `Bar`, which is required by `frame_support::pallet_prelude::StorageValue<_GeneratedPrefixForStorageFoo<T>, Bar>: PartialStorageInfoTrait`
|
= help: the following other types implement trait `WrapperTypeDecode`:
Box<T>
@@ -31,7 +31,7 @@ error[E0277]: the trait bound `Bar: EncodeLike` is not satisfied
... |
38 | | #[pallet::storage]
39 | | type Foo<T> = StorageValue<Value = Bar>;
| |____________^ the trait `EncodeLike` is not implemented for `Bar`
| |____________^ the trait `EncodeLike` is not implemented for `Bar`, which is required by `frame_support::pallet_prelude::StorageValue<_GeneratedPrefixForStorageFoo<T>, Bar>: PartialStorageInfoTrait`
|
= help: the following other types implement trait `EncodeLike<T>`:
<bool as EncodeLike>
@@ -58,7 +58,7 @@ error[E0277]: the trait bound `Bar: WrapperTypeEncode` is not satisfied
... |
38 | | #[pallet::storage]
39 | | type Foo<T> = StorageValue<Value = Bar>;
| |____________^ the trait `WrapperTypeEncode` is not implemented for `Bar`
| |____________^ the trait `WrapperTypeEncode` is not implemented for `Bar`, which is required by `frame_support::pallet_prelude::StorageValue<_GeneratedPrefixForStorageFoo<T>, Bar>: PartialStorageInfoTrait`
|
= help: the following other types implement trait `WrapperTypeEncode`:
Box<T>
@@ -81,7 +81,7 @@ error[E0277]: the trait bound `Bar: TypeInfo` is not satisfied
38 | #[pallet::storage]
| _______________^
39 | | type Foo<T> = StorageValue<Value = Bar>;
| |____________^ the trait `TypeInfo` is not implemented for `Bar`
| |____________^ the trait `TypeInfo` is not implemented for `Bar`, which is required by `frame_support::pallet_prelude::StorageValue<_GeneratedPrefixForStorageFoo<T>, Bar>: StorageEntryMetadataBuilder`
|
= help: the following other types implement trait `TypeInfo`:
bool
@@ -102,7 +102,7 @@ error[E0277]: the trait bound `Bar: WrapperTypeDecode` is not satisfied
38 | #[pallet::storage]
| _______________^
39 | | type Foo<T> = StorageValue<Value = Bar>;
| |____________^ the trait `WrapperTypeDecode` is not implemented for `Bar`
| |____________^ the trait `WrapperTypeDecode` is not implemented for `Bar`, which is required by `frame_support::pallet_prelude::StorageValue<_GeneratedPrefixForStorageFoo<T>, Bar>: StorageEntryMetadataBuilder`
|
= help: the following other types implement trait `WrapperTypeDecode`:
Box<T>
@@ -119,7 +119,7 @@ error[E0277]: the trait bound `Bar: EncodeLike` is not satisfied
38 | #[pallet::storage]
| _______________^
39 | | type Foo<T> = StorageValue<Value = Bar>;
| |____________^ the trait `EncodeLike` is not implemented for `Bar`
| |____________^ the trait `EncodeLike` is not implemented for `Bar`, which is required by `frame_support::pallet_prelude::StorageValue<_GeneratedPrefixForStorageFoo<T>, Bar>: StorageEntryMetadataBuilder`
|
= help: the following other types implement trait `EncodeLike<T>`:
<bool as EncodeLike>
@@ -141,7 +141,7 @@ error[E0277]: the trait bound `Bar: WrapperTypeEncode` is not satisfied
38 | #[pallet::storage]
| _______________^
39 | | type Foo<T> = StorageValue<Value = Bar>;
| |____________^ the trait `WrapperTypeEncode` is not implemented for `Bar`
| |____________^ the trait `WrapperTypeEncode` is not implemented for `Bar`, which is required by `frame_support::pallet_prelude::StorageValue<_GeneratedPrefixForStorageFoo<T>, Bar>: StorageEntryMetadataBuilder`
|
= help: the following other types implement trait `WrapperTypeEncode`:
Box<T>
@@ -164,7 +164,7 @@ error[E0277]: the trait bound `Bar: WrapperTypeDecode` is not satisfied
38 | #[pallet::storage]
| _______________^
39 | | type Foo<T> = StorageValue<Value = Bar>;
| |____________^ the trait `WrapperTypeDecode` is not implemented for `Bar`
| |____________^ the trait `WrapperTypeDecode` is not implemented for `Bar`, which is required by `frame_support::pallet_prelude::StorageValue<_GeneratedPrefixForStorageFoo<T>, Bar>: TryDecodeEntireStorage`
|
= help: the following other types implement trait `WrapperTypeDecode`:
Box<T>
@@ -181,7 +181,7 @@ error[E0277]: the trait bound `Bar: EncodeLike` is not satisfied
38 | #[pallet::storage]
| _______________^
39 | | type Foo<T> = StorageValue<Value = Bar>;
| |____________^ the trait `EncodeLike` is not implemented for `Bar`
| |____________^ the trait `EncodeLike` is not implemented for `Bar`, which is required by `frame_support::pallet_prelude::StorageValue<_GeneratedPrefixForStorageFoo<T>, Bar>: TryDecodeEntireStorage`
|
= help: the following other types implement trait `EncodeLike<T>`:
<bool as EncodeLike>
@@ -203,7 +203,7 @@ error[E0277]: the trait bound `Bar: WrapperTypeEncode` is not satisfied
38 | #[pallet::storage]
| _______________^
39 | | type Foo<T> = StorageValue<Value = Bar>;
| |____________^ the trait `WrapperTypeEncode` is not implemented for `Bar`
| |____________^ the trait `WrapperTypeEncode` is not implemented for `Bar`, which is required by `frame_support::pallet_prelude::StorageValue<_GeneratedPrefixForStorageFoo<T>, Bar>: TryDecodeEntireStorage`
|
= help: the following other types implement trait `WrapperTypeEncode`:
Box<T>
@@ -9,7 +9,7 @@ error[E0277]: the trait bound `Bar: WrapperTypeDecode` is not satisfied
... |
38 | | #[pallet::storage]
39 | | type Foo<T> = StorageValue<_, Bar>;
| |____________^ the trait `WrapperTypeDecode` is not implemented for `Bar`
| |____________^ the trait `WrapperTypeDecode` is not implemented for `Bar`, which is required by `frame_support::pallet_prelude::StorageValue<_GeneratedPrefixForStorageFoo<T>, Bar>: PartialStorageInfoTrait`
|
= help: the following other types implement trait `WrapperTypeDecode`:
Box<T>
@@ -31,7 +31,7 @@ error[E0277]: the trait bound `Bar: EncodeLike` is not satisfied
... |
38 | | #[pallet::storage]
39 | | type Foo<T> = StorageValue<_, Bar>;
| |____________^ the trait `EncodeLike` is not implemented for `Bar`
| |____________^ the trait `EncodeLike` is not implemented for `Bar`, which is required by `frame_support::pallet_prelude::StorageValue<_GeneratedPrefixForStorageFoo<T>, Bar>: PartialStorageInfoTrait`
|
= help: the following other types implement trait `EncodeLike<T>`:
<bool as EncodeLike>
@@ -58,7 +58,7 @@ error[E0277]: the trait bound `Bar: WrapperTypeEncode` is not satisfied
... |
38 | | #[pallet::storage]
39 | | type Foo<T> = StorageValue<_, Bar>;
| |____________^ the trait `WrapperTypeEncode` is not implemented for `Bar`
| |____________^ the trait `WrapperTypeEncode` is not implemented for `Bar`, which is required by `frame_support::pallet_prelude::StorageValue<_GeneratedPrefixForStorageFoo<T>, Bar>: PartialStorageInfoTrait`
|
= help: the following other types implement trait `WrapperTypeEncode`:
Box<T>
@@ -81,7 +81,7 @@ error[E0277]: the trait bound `Bar: TypeInfo` is not satisfied
38 | #[pallet::storage]
| _______________^
39 | | type Foo<T> = StorageValue<_, Bar>;
| |____________^ the trait `TypeInfo` is not implemented for `Bar`
| |____________^ the trait `TypeInfo` is not implemented for `Bar`, which is required by `frame_support::pallet_prelude::StorageValue<_GeneratedPrefixForStorageFoo<T>, Bar>: StorageEntryMetadataBuilder`
|
= help: the following other types implement trait `TypeInfo`:
bool
@@ -102,7 +102,7 @@ error[E0277]: the trait bound `Bar: WrapperTypeDecode` is not satisfied
38 | #[pallet::storage]
| _______________^
39 | | type Foo<T> = StorageValue<_, Bar>;
| |____________^ the trait `WrapperTypeDecode` is not implemented for `Bar`
| |____________^ the trait `WrapperTypeDecode` is not implemented for `Bar`, which is required by `frame_support::pallet_prelude::StorageValue<_GeneratedPrefixForStorageFoo<T>, Bar>: StorageEntryMetadataBuilder`
|
= help: the following other types implement trait `WrapperTypeDecode`:
Box<T>
@@ -119,7 +119,7 @@ error[E0277]: the trait bound `Bar: EncodeLike` is not satisfied
38 | #[pallet::storage]
| _______________^
39 | | type Foo<T> = StorageValue<_, Bar>;
| |____________^ the trait `EncodeLike` is not implemented for `Bar`
| |____________^ the trait `EncodeLike` is not implemented for `Bar`, which is required by `frame_support::pallet_prelude::StorageValue<_GeneratedPrefixForStorageFoo<T>, Bar>: StorageEntryMetadataBuilder`
|
= help: the following other types implement trait `EncodeLike<T>`:
<bool as EncodeLike>
@@ -141,7 +141,7 @@ error[E0277]: the trait bound `Bar: WrapperTypeEncode` is not satisfied
38 | #[pallet::storage]
| _______________^
39 | | type Foo<T> = StorageValue<_, Bar>;
| |____________^ the trait `WrapperTypeEncode` is not implemented for `Bar`
| |____________^ the trait `WrapperTypeEncode` is not implemented for `Bar`, which is required by `frame_support::pallet_prelude::StorageValue<_GeneratedPrefixForStorageFoo<T>, Bar>: StorageEntryMetadataBuilder`
|
= help: the following other types implement trait `WrapperTypeEncode`:
Box<T>
@@ -164,7 +164,7 @@ error[E0277]: the trait bound `Bar: WrapperTypeDecode` is not satisfied
38 | #[pallet::storage]
| _______________^
39 | | type Foo<T> = StorageValue<_, Bar>;
| |____________^ the trait `WrapperTypeDecode` is not implemented for `Bar`
| |____________^ the trait `WrapperTypeDecode` is not implemented for `Bar`, which is required by `frame_support::pallet_prelude::StorageValue<_GeneratedPrefixForStorageFoo<T>, Bar>: TryDecodeEntireStorage`
|
= help: the following other types implement trait `WrapperTypeDecode`:
Box<T>
@@ -181,7 +181,7 @@ error[E0277]: the trait bound `Bar: EncodeLike` is not satisfied
38 | #[pallet::storage]
| _______________^
39 | | type Foo<T> = StorageValue<_, Bar>;
| |____________^ the trait `EncodeLike` is not implemented for `Bar`
| |____________^ the trait `EncodeLike` is not implemented for `Bar`, which is required by `frame_support::pallet_prelude::StorageValue<_GeneratedPrefixForStorageFoo<T>, Bar>: TryDecodeEntireStorage`
|
= help: the following other types implement trait `EncodeLike<T>`:
<bool as EncodeLike>
@@ -203,7 +203,7 @@ error[E0277]: the trait bound `Bar: WrapperTypeEncode` is not satisfied
38 | #[pallet::storage]
| _______________^
39 | | type Foo<T> = StorageValue<_, Bar>;
| |____________^ the trait `WrapperTypeEncode` is not implemented for `Bar`
| |____________^ the trait `WrapperTypeEncode` is not implemented for `Bar`, which is required by `frame_support::pallet_prelude::StorageValue<_GeneratedPrefixForStorageFoo<T>, Bar>: TryDecodeEntireStorage`
|
= help: the following other types implement trait `WrapperTypeEncode`:
Box<T>
@@ -9,7 +9,7 @@ error[E0277]: the trait bound `Bar: MaxEncodedLen` is not satisfied
... |
38 | | #[pallet::storage]
39 | | type Foo<T> = StorageValue<_, Bar>;
| |____________^ the trait `MaxEncodedLen` is not implemented for `Bar`
| |____________^ the trait `MaxEncodedLen` is not implemented for `Bar`, which is required by `frame_support::pallet_prelude::StorageValue<_GeneratedPrefixForStorageFoo<T>, Bar>: StorageInfoTrait`
|
= help: the following other types implement trait `MaxEncodedLen`:
bool
@@ -9,7 +9,7 @@ error[E0277]: the trait bound `Bar: MaxEncodedLen` is not satisfied
... |
41 | | #[pallet::storage]
42 | | type Foo<T> = StorageNMap<_, Key<Twox64Concat, Bar>, u32>;
| |____________^ the trait `MaxEncodedLen` is not implemented for `Bar`
| |____________^ the trait `MaxEncodedLen` is not implemented for `Bar`, which is required by `frame_support::pallet_prelude::StorageNMap<_GeneratedPrefixForStorageFoo<T>, NMapKey<frame_support::Twox64Concat, Bar>, u32>: StorageInfoTrait`
|
= help: the following other types implement trait `MaxEncodedLen`:
bool
@@ -9,10 +9,12 @@ note: the struct `RuntimeVersion` is defined here
|
| use sp_version::RuntimeVersion;
| ^^^^^^^^^^^^^^^^^^^^^^^^^^
help: consider importing one of these items instead
help: consider importing this struct instead
|
37 | fn version() -> sp_version::RuntimeVersion {
| ~~~~~~~~~~~~~~~~~~~~~~~~~~
help: import `RuntimeVersion` directly
|
37 | fn version() -> sp_api::__private::RuntimeVersion {
| ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
37 | fn version() -> sp_version::RuntimeVersion {
| ~~~~~~~~~~~~~~~~~~~~~~~~~~
@@ -9,10 +9,12 @@ note: the struct `RuntimeVersion` is defined here
|
| use sp_version::RuntimeVersion;
| ^^^^^^^^^^^^^^^^^^^^^^^^^^
help: consider importing one of these items instead
help: consider importing this struct instead
|
39 | fn version() -> sp_version::RuntimeVersion {
| ~~~~~~~~~~~~~~~~~~~~~~~~~~
help: import `RuntimeVersion` directly
|
39 | fn version() -> sp_api::__private::RuntimeVersion {
| ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
39 | fn version() -> sp_version::RuntimeVersion {
| ~~~~~~~~~~~~~~~~~~~~~~~~~~
@@ -30,8 +32,8 @@ note: type in trait
|
27 | fn test(data: u64);
| ^^^
= note: expected signature `fn(u64)`
found signature `fn(&u64)`
= note: expected signature `fn(_)`
found signature `fn(&_)`
error[E0308]: mismatched types
--> tests/ui/type_reference_in_impl_runtime_apis_call.rs:33:11