mirror of
https://github.com/pezkuwichain/pezkuwi-subxt.git
synced 2026-05-30 12:51:02 +00:00
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
This commit is contained in:
committed by
GitHub
parent
2af0de50c9
commit
c2dd5e21a4
@@ -0,0 +1,9 @@
|
||||
use sp_npos_elections_compact::generate_solution_type;
|
||||
|
||||
generate_solution_type!(pub struct TestSolution::<
|
||||
VoterIndex = u16,
|
||||
TargetIndex = u8,
|
||||
Perbill,
|
||||
>(8));
|
||||
|
||||
fn main() {}
|
||||
@@ -0,0 +1,5 @@
|
||||
error: Expected binding: `Accuracy = ...`
|
||||
--> $DIR/missing_accuracy.rs:6:2
|
||||
|
|
||||
6 | Perbill,
|
||||
| ^^^^^^^
|
||||
@@ -0,0 +1,9 @@
|
||||
use sp_npos_elections_compact::generate_solution_type;
|
||||
|
||||
generate_solution_type!(pub struct TestSolution::<
|
||||
VoterIndex = u16,
|
||||
u8,
|
||||
Accuracy = Perbill,
|
||||
>(8));
|
||||
|
||||
fn main() {}
|
||||
@@ -0,0 +1,5 @@
|
||||
error: Expected binding: `TargetIndex = ...`
|
||||
--> $DIR/missing_target.rs:5:2
|
||||
|
|
||||
5 | u8,
|
||||
| ^^
|
||||
@@ -0,0 +1,9 @@
|
||||
use sp_npos_elections_compact::generate_solution_type;
|
||||
|
||||
generate_solution_type!(pub struct TestSolution::<
|
||||
u16,
|
||||
TargetIndex = u8,
|
||||
Accuracy = Perbill,
|
||||
>(8));
|
||||
|
||||
fn main() {}
|
||||
@@ -0,0 +1,5 @@
|
||||
error: Expected binding: `VoterIndex = ...`
|
||||
--> $DIR/missing_voter.rs:4:2
|
||||
|
|
||||
4 | u16,
|
||||
| ^^^
|
||||
@@ -0,0 +1,9 @@
|
||||
use sp_npos_elections_compact::generate_solution_type;
|
||||
|
||||
generate_solution_type!(pub struct TestSolution::<
|
||||
u16,
|
||||
u8,
|
||||
Perbill,
|
||||
>(8));
|
||||
|
||||
fn main() {}
|
||||
@@ -0,0 +1,5 @@
|
||||
error: Expected binding: `VoterIndex = ...`
|
||||
--> $DIR/no_annotations.rs:4:2
|
||||
|
|
||||
4 | u16,
|
||||
| ^^^
|
||||
@@ -0,0 +1,9 @@
|
||||
use sp_npos_elections_compact::generate_solution_type;
|
||||
|
||||
generate_solution_type!(pub struct TestSolution::<
|
||||
TargetIndex = u16,
|
||||
VoterIndex = u8,
|
||||
Accuracy = Perbill,
|
||||
>(8));
|
||||
|
||||
fn main() {}
|
||||
@@ -0,0 +1,5 @@
|
||||
error: Expected `VoterIndex`
|
||||
--> $DIR/swap_voter_target.rs:4:2
|
||||
|
|
||||
4 | TargetIndex = u16,
|
||||
| ^^^^^^^^^^^
|
||||
Reference in New Issue
Block a user