Skip to content
  • Peter Goodspeed-Niklaus's avatar
    make types within `generate_solution_type` macro explicit (#8447) · c2dd5e21
    Peter Goodspeed-Niklaus authored
    * 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
    c2dd5e21