// Check that lifetime bounds get checked the right way around with NLL enabled.

// check-pass

trait Visitor<'d> {
    type Value;
}

impl<'a, 'd: 'a> Visitor<'d> for &'a () {
    type Value = ();
}

fn visit_seq<'d: 'a, 'a>() -> <&'a () as Visitor<'d>>::Value {}

fn main() {}