// aux-build:rbmtp_cross_crate_lib.rs // Check explicit region bounds on methods in the cross crate case. extern crate rbmtp_cross_crate_lib as lib; use lib::Inv; use lib::MaybeOwned; use lib::IntoMaybeOwned; fn call_into_maybe_owned<'x,F:IntoMaybeOwned<'x>>(f: F) { // Exercise a code path I found to be buggy. We were not encoding // the region parameters from the receiver correctly on trait // methods. f.into_maybe_owned(); } fn call_bigger_region<'x, 'y>(a: Inv<'x>, b: Inv<'y>) { // Here the value provided for 'y is 'y, and hence 'y:'x does not hold. a.bigger_region(b) //~^ ERROR lifetime may not live long enough } fn main() { }