about summary refs log tree commit diff
path: root/tests/ui/impl-trait/wf-check-hidden-type.rs
blob: c3b1182a98f4815f712c8c54fb5de173680f3e86 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
//! Regression test for #114728.

trait Extend<'a, 'b> {
    fn extend(self, _: &'a str) -> &'b str;
}

impl<'a, 'b> Extend<'a, 'b> for Option<&'b &'a ()> {
    fn extend(self, s: &'a str) -> &'b str {
        s
    }
}

fn boom<'a, 'b>() -> impl Extend<'a, 'b> {
    None::<&'_ &'_ ()> //~ ERROR lifetime may not live long enough
}

fn main() {
    let y = boom().extend(&String::from("temporary"));
    println!("{}", y);
}