about summary refs log tree commit diff
path: root/src/rustllvm/RustWrapper.cpp
diff options
context:
space:
mode:
authorbors <bors@rust-lang.org>2014-07-26 12:16:21 +0000
committerbors <bors@rust-lang.org>2014-07-26 12:16:21 +0000
commitee21b009bbbe1f49981ed1ed8384c02d7ecdd19d (patch)
treeeac9ac4fa5b17d35ffee0b8f1702135d9c572e46 /src/rustllvm/RustWrapper.cpp
parent0d53597ce29e6c4a93fc3edada7489aab51c89ea (diff)
parent5de8ed541a93310f8fae5384ccbf422a8f2fcdcb (diff)
downloadrust-ee21b009bbbe1f49981ed1ed8384c02d7ecdd19d.tar.gz
rust-ee21b009bbbe1f49981ed1ed8384c02d7ecdd19d.zip
auto merge of #15991 : pcwalton/rust/resolve-regions-in-trait-matching, r=alexcrichton
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]

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