mirror of
https://github.com/pezkuwichain/pezkuwi-subxt.git
synced 2026-04-30 11:57:56 +00:00
[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:
committed by
GitHub
parent
b6fab8046e
commit
76719da221
@@ -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
|
||||
|
||||
|
||||
@@ -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
@@ -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"
|
||||
|
||||
@@ -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" },
|
||||
//! },
|
||||
//! },
|
||||
//! ```
|
||||
|
||||
@@ -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>),
|
||||
|
||||
@@ -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,
|
||||
|
||||
@@ -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>) {
|
||||
|
||||
@@ -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)
|
||||
|
||||
+283
-311
@@ -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)
|
||||
|
||||
+8
-15
@@ -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)
|
||||
|
||||
+1
-1
@@ -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)
|
||||
|
||||
+28
-32
@@ -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`
|
||||
|
||||
+1
-1
@@ -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`
|
||||
|
||||
+10
-10
@@ -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>
|
||||
|
||||
+10
-10
@@ -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 {
|
||||
| ~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||
|
||||
|
||||
+7
-5
@@ -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
|
||||
|
||||
Reference in New Issue
Block a user