When the user fails to specify associated types for a trait object, the span used for the label associated type `Output` must be specified is the entire trait object, when it should ideally just be the trait (bound) from which the associated type is missing.
For example, we currently get:
3 | type Foo = Add + Sub;
| ^^^^^^^^^ associated type `Output` must be specified
when we really want something like:
3 | type Foo = Add + Sub;
| | ^^^ associated type `Output` must be specified
| ^^^^ associated type `Output` must be specified
Note that PR #59445 will ensure that there at least are two labels in the above example, which is more correct, although the spans of both labels will still be the entire trait object.
See also #59445 (comment).
CC @estebank @eddyb @Centril
When the user fails to specify associated types for a trait object, the span used for the label
associated type `Output` must be specifiedis the entire trait object, when it should ideally just be the trait (bound) from which the associated type is missing.For example, we currently get:
when we really want something like:
Note that PR #59445 will ensure that there at least are two labels in the above example, which is more correct, although the spans of both labels will still be the entire trait object.
See also #59445 (comment).
CC @estebank @eddyb @Centril