diff options
| author | Patrick Walton <pcwalton@mimiga.net> | 2014-07-25 15:56:42 -0700 |
|---|---|---|
| committer | Patrick Walton <pcwalton@mimiga.net> | 2014-07-25 15:58:01 -0700 |
| commit | 5de8ed541a93310f8fae5384ccbf422a8f2fcdcb (patch) | |
| tree | e3a72894416924c6abdeb21f6b09a5083f950bec /src/rustllvm/RustWrapper.cpp | |
| parent | 66a0b528a6601d060095655f31c7d38e2a841511 (diff) | |
| download | rust-5de8ed541a93310f8fae5384ccbf422a8f2fcdcb.tar.gz rust-5de8ed541a93310f8fae5384ccbf422a8f2fcdcb.zip | |
librustc: Resolve regions and report errors in trait/impl method
matching.
This breaks code like:
struct Foo<'a,'b> {
x: &'a int,
y: &'b int,
}
trait Tr {
fn foo(x: Self) {}
}
impl<'a,'b> Tr for Foo<'a,'b> {
fn foo(x: Foo<'b,'a>) {} // <-- bad
}
Change this code to not contain a lifetime mismatch error. For example:
struct Foo<'a,'b> {
x: &'a int,
y: &'b int,
}
trait Tr {
fn foo(x: Self) {}
}
impl<'a,'b> Tr for Foo<'a,'b> {
fn foo(x: Foo<'a,'b>) {} // OK
}
Closes #15517.
[breaking-change]
Diffstat (limited to 'src/rustllvm/RustWrapper.cpp')
0 files changed, 0 insertions, 0 deletions
