-
Notifications
You must be signed in to change notification settings - Fork 371
Missing feature for parachain runtime? #2230
Description
After upgrading from 0.9.37 to 9.9.38, our parachain runtimes compiled only with the benchmarking flag have started failing.
cargo check -p peregrine-runtime --features runtime-benchmarks
⚡ Found 3 strongly connected components which includes at least one cycle each
cycle(001) ∈ α: DisputeCoordinator ~~{"DisputeDistributionMessage"}~~> DisputeDistribution ~~{"DisputeCoordinatorMessage"}~~> *
cycle(002) ∈ β: CandidateBacking ~~{"CollatorProtocolMessage"}~~> CollatorProtocol ~~{"CandidateBackingMessage"}~~> *
cycle(003) ∈ γ: NetworkBridgeRx ~~{"GossipSupportMessage"}~~> GossipSupport ~~{"NetworkBridgeRxMessage"}~~> *
Checking polkadot-runtime v0.9.38 (https://github.com/paritytech/polkadot?branch=release-v0.9.38#72309a2b)
error[E0046]: not all trait items implemented, missing: `ReachableDest`
--> /home/antonio/.cargo/git/checkouts/polkadot-4038f27d5e4ea2e8/72309a2/runtime/polkadot/src/xcm_config.rs:366:1
|
366 | impl pallet_xcm::Config for Runtime {
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ missing `ReachableDest` in implementation
|
= help: implement the missing item: `type ReachableDest = Type;`
For more information about this error, try `rustc --explain E0046`.
error: could not compile `polkadot-runtime` due to previous error
The error is generated in the polkadot-runtime crate, which I am not sure how deep inside the dependency tree is, and it seems an issue with the runtime-benchmarks flag not being properly set by one of the crates that our runtime depends on.
On a related note, I was not even able to compile the statemine runtime on its own with just the runtime-benchmarks feature either, but with a different error regarding the new try_success_origin syntax, which gives me the hint that not all feature combinations are working for the cumulus repo.
EDIT: this is the PR to update from 0.9.37 to 0.9.38. If our parachain runtimes are compiled with cargo build -p peregrine-runtime --features runtime-benchmarks, then we have the compilation issue.
EDIT 2: compiling the whole kilt-parachain node with just the runtime-benchmarks feature works, so something in the client side is causing the feature from being correctly enabled by the dependencies.