Expand description

These traits help drive integer type inference. Without them, an unknown {integer} type only has constraints on Iter<{integer}>, which will probably give up and use i32. By adding these traits on the item type, the compiler can see a more direct constraint to infer like {integer}: RangeInteger, which works better. See test_issue_833 for an example.

They have to be pub since they’re seen in the public impl ParallelIterator constraints, but we put them in a private modules so they’re not actually reachable in our public API.

Traits