You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
When setting up a generic benchmark using the types macro argument I noticed that the order is not respected when the benchmark runs and the types in question are generic.
What seems to be happening is that the proc macro resolves the types into Uint<const L: usize> and then orders them lexicographically (?) such that the "4" in "Uint<4>" ends up after "Uint<16>".
Is this something that is easy to fix? I think the least surprising behaviour would be to respect the order entered, e.g. types = [Vec<u8>, ZedType, AbcType] would run using first Vec<u8>, then ZedType and lastly AbcType.
The text was updated successfully, but these errors were encountered:
When setting up a generic benchmark using the
types
macro argument I noticed that the order is not respected when the benchmark runs and the types in question are generic.With an invocation like so:
…I would expect the benchmark to run over the types in the order listed (U256, U1024, U2048, U4096). Instead, what I see is:
What seems to be happening is that the proc macro resolves the types into
Uint<const L: usize>
and then orders them lexicographically (?) such that the "4" in "Uint<4>" ends up after "Uint<16>".Is this something that is easy to fix? I think the least surprising behaviour would be to respect the order entered, e.g.
types = [Vec<u8>, ZedType, AbcType]
would run using firstVec<u8>
, thenZedType
and lastlyAbcType
.The text was updated successfully, but these errors were encountered: