Commit Graph

3 Commits

Author SHA1 Message Date
Aaron Turon
d8160799b5 Adjust overlap-related tests to account for cosmetic changes to error reporting behavior 2016-03-14 15:04:37 -07:00
Aaron Turon
1077ff2dec Add basic specialization tests, including for default item
inheritance. Updates some of the coherence tests as well.
2016-03-14 15:04:36 -07:00
Aaron Turon
bc33dd7ac4 Provide overlapping types for coherence errors
Currently, a coherence error based on overlapping impls simply mentions
the trait, and points to the two conflicting impls:

```
error: conflicting implementations for trait `Foo`
```

With this commit, the error will include all input types to the
trait (including the `Self` type) after unification between the
overlapping impls. In other words, the error message will provide
feedback with full type details, like:

```
error: conflicting implementations of trait `Foo<u32>` for type `u8`:
```

When the `Self` type for the two impls unify to an inference variable,
it is elided in the output, since "for type `_`" is just noise in that
case.

Closes #23980
2015-12-16 09:47:23 -08:00