The auto-generated implementation for the
TryState trait is feature gated behind
This requires all pallets to support
try-runtime as well.
You can try it out for a single pallet by putting this line above the error-producing
<frame_system::Pallet<Runtime> as frame_support::traits::TryState<_>>::try_state();
This will produce an error claiming that
frame_system::Pallet does not implement
TryState. It can be fixed by adding
frame-executive/try-runtime to the
try-runtime feature list of the runtime
Sadly it looks like some pallets that you have deployed do currently not support that feature.
They need to be updated to support the feature and propagate it to all dependencies.
The feature system of Rust is really annoying when it comes to this. We are slowly cleaning up Substrate and remove any feature-bleed; eg https://github.com/paritytech/substrate/pull/11976 and https://github.com/paritytech/substrate/pull/12341.
In this case we case it is a bit unfortunate that the pallets all need to support it. If you are really lucky you can try removing this line and do some feature hacking to maybe get it working without that.
But then you have non-production hooks in production code; also not good.