make types within `generate_solution_type` macro explicit (#8447)
* make types within `generate_solution_type` macro explicit Closes #8444. Just changes the parsing logic for that macro; does not change any emitted code. The associated types associated with the macro now require explicit, keyword-style declaration. **Old**: ```rust sp_npos_elections::generate_solution_type!( #[compact] pub struct TestCompact::<VoterIndex, TargetIndex, PerU16>(16) ); ``` **New**: ```rust sp_npos_elections::generate_solution_type!( #[compact] pub struct TestCompact::<VoterIndex = VoterIndex, CandidateIndex = TargetIndex, Accuracy = PerU16>(16) ); ``` * un-ignore doc-tests * use new form in bin/node/runtime/ * rename CandidateIndex -> TargetIndex * add tests demonstrating some potential compile failures
Showing
- substrate/Cargo.lock 4 additions, 0 deletionssubstrate/Cargo.lock
- substrate/bin/node/runtime/src/lib.rs 5 additions, 2 deletionssubstrate/bin/node/runtime/src/lib.rs
- substrate/frame/election-provider-multi-phase/src/mock.rs 1 addition, 1 deletionsubstrate/frame/election-provider-multi-phase/src/mock.rs
- substrate/primitives/npos-elections/compact/Cargo.toml 6 additions, 0 deletionssubstrate/primitives/npos-elections/compact/Cargo.toml
- substrate/primitives/npos-elections/compact/src/lib.rs 38 additions, 8 deletionssubstrate/primitives/npos-elections/compact/src/lib.rs
- substrate/primitives/npos-elections/compact/tests/ui/fail/missing_accuracy.rs 9 additions, 0 deletions.../npos-elections/compact/tests/ui/fail/missing_accuracy.rs
- substrate/primitives/npos-elections/compact/tests/ui/fail/missing_accuracy.stderr 5 additions, 0 deletions...s-elections/compact/tests/ui/fail/missing_accuracy.stderr
- substrate/primitives/npos-elections/compact/tests/ui/fail/missing_target.rs 9 additions, 0 deletions...es/npos-elections/compact/tests/ui/fail/missing_target.rs
- substrate/primitives/npos-elections/compact/tests/ui/fail/missing_target.stderr 5 additions, 0 deletions...pos-elections/compact/tests/ui/fail/missing_target.stderr
- substrate/primitives/npos-elections/compact/tests/ui/fail/missing_voter.rs 9 additions, 0 deletions...ves/npos-elections/compact/tests/ui/fail/missing_voter.rs
- substrate/primitives/npos-elections/compact/tests/ui/fail/missing_voter.stderr 5 additions, 0 deletions...npos-elections/compact/tests/ui/fail/missing_voter.stderr
- substrate/primitives/npos-elections/compact/tests/ui/fail/no_annotations.rs 9 additions, 0 deletions...es/npos-elections/compact/tests/ui/fail/no_annotations.rs
- substrate/primitives/npos-elections/compact/tests/ui/fail/no_annotations.stderr 5 additions, 0 deletions...pos-elections/compact/tests/ui/fail/no_annotations.stderr
- substrate/primitives/npos-elections/compact/tests/ui/fail/swap_voter_target.rs 9 additions, 0 deletions...npos-elections/compact/tests/ui/fail/swap_voter_target.rs
- substrate/primitives/npos-elections/compact/tests/ui/fail/swap_voter_target.stderr 5 additions, 0 deletions...-elections/compact/tests/ui/fail/swap_voter_target.stderr
- substrate/primitives/npos-elections/fuzzer/src/compact.rs 5 additions, 1 deletionsubstrate/primitives/npos-elections/fuzzer/src/compact.rs
- substrate/primitives/npos-elections/src/tests.rs 16 additions, 4 deletionssubstrate/primitives/npos-elections/src/tests.rs
Please register or sign in to comment