about summary refs log tree commit diff
path: root/src/rustllvm/RustWrapper.cpp
diff options
context:
space:
mode:
authorbors <bors@rust-lang.org>2015-12-16 20:22:07 +0000
committerbors <bors@rust-lang.org>2015-12-16 20:22:07 +0000
commit38da1a406472cf3c675c70fe2c0b1c665fce4b16 (patch)
tree13da767609693928e6c3147af2edab9e863deac7 /src/rustllvm/RustWrapper.cpp
parent073b0f9b852fa8b14ea4ab8c5a724043eb39fce5 (diff)
parentbc33dd7ac4d4fdc2d14c6da4cce62e82a4f94f86 (diff)
downloadrust-38da1a406472cf3c675c70fe2c0b1c665fce4b16.tar.gz
rust-38da1a406472cf3c675c70fe2c0b1c665fce4b16.zip
Auto merge of #29962 - aturon:coherence-errors, r=nmatsakis
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

r? @nikomatsakis
Diffstat (limited to 'src/rustllvm/RustWrapper.cpp')
0 files changed, 0 insertions, 0 deletions