rust/tests/ui/inference/issue-107090.rs

Ignoring revisions in .git-blame-ignore-revs. Click here to bypass and see the normal blame view.

26 lines
823 B
Rust
Raw Normal View History

2023-01-18 03:28:19 -06:00
use std::marker::PhantomData;
struct Foo<'a, 'b, T>(PhantomData<(&'a (), &'b (), T)>)
where
Foo<'short, 'out, T>: Convert<'a, 'b>;
2023-02-03 17:21:56 -06:00
//~^ ERROR use of undeclared lifetime name
2023-01-18 03:28:19 -06:00
//~| ERROR use of undeclared lifetime name `'out`
trait Convert<'a, 'b>: Sized {
fn cast(&'a self) -> &'b Self;
}
impl<'long: 'short, 'short, T> Convert<'long, 'b> for Foo<'short, 'out, T> {
//~^ ERROR use of undeclared lifetime name
//~^^ ERROR use of undeclared lifetime name `'out`
fn cast(&'long self) -> &'short Foo<'short, 'out, T> {
//~^ ERROR use of undeclared lifetime name
self
}
}
fn badboi<'in_, 'out, T>(x: Foo<'in_, 'out, T>, sadness: &'in_ Foo<'short, 'out, T>) -> &'out T {
//~^ ERROR use of undeclared lifetime name
2023-02-03 17:21:56 -06:00
sadness.cast() //~ ERROR mismatched types
2023-01-18 03:28:19 -06:00
}
fn main() {}