]>
Commit | Line | Data |
---|---|---|
a7813a04 | 1 | // aux-build:rbmtp_cross_crate_lib.rs |
04454e1e FG |
2 | // revisions: base nll |
3 | // ignore-compare-mode-nll | |
4 | //[nll] compile-flags: -Z borrowck=mir | |
1a4d82fc JJ |
5 | |
6 | // Check explicit region bounds on methods in the cross crate case. | |
7 | ||
a7813a04 | 8 | extern crate rbmtp_cross_crate_lib as lib; |
1a4d82fc JJ |
9 | |
10 | use lib::Inv; | |
11 | use lib::MaybeOwned; | |
12 | use lib::IntoMaybeOwned; | |
13 | ||
14 | fn call_into_maybe_owned<'x,F:IntoMaybeOwned<'x>>(f: F) { | |
15 | // Exercise a code path I found to be buggy. We were not encoding | |
16 | // the region parameters from the receiver correctly on trait | |
17 | // methods. | |
18 | f.into_maybe_owned(); | |
19 | } | |
20 | ||
21 | fn call_bigger_region<'x, 'y>(a: Inv<'x>, b: Inv<'y>) { | |
22 | // Here the value provided for 'y is 'y, and hence 'y:'x does not hold. | |
04454e1e FG |
23 | a.bigger_region(b) |
24 | //[base]~^ ERROR lifetime mismatch [E0623] | |
25 | //[nll]~^^ ERROR lifetime may not live long enough | |
1a4d82fc JJ |
26 | } |
27 | ||
28 | fn main() { } |