From be2d5535ead0dbd9d188f8f3e5d9bd4918b6153a Mon Sep 17 00:00:00 2001 From: Yuki Okushi Date: Thu, 7 May 2020 02:13:51 +0900 Subject: [PATCH] Add test for #34979 --- src/test/ui/lifetimes/issue-34979.rs | 9 +++++++++ src/test/ui/lifetimes/issue-34979.stderr | 14 ++++++++++++++ 2 files changed, 23 insertions(+) create mode 100644 src/test/ui/lifetimes/issue-34979.rs create mode 100644 src/test/ui/lifetimes/issue-34979.stderr diff --git a/src/test/ui/lifetimes/issue-34979.rs b/src/test/ui/lifetimes/issue-34979.rs new file mode 100644 index 0000000000000..252486dd92192 --- /dev/null +++ b/src/test/ui/lifetimes/issue-34979.rs @@ -0,0 +1,9 @@ +trait Foo {} +impl<'a, T> Foo for &'a T {} + +struct Ctx<'a>(&'a ()) +where + &'a (): Foo, //~ ERROR: type annotations needed + &'static (): Foo; + +fn main() {} diff --git a/src/test/ui/lifetimes/issue-34979.stderr b/src/test/ui/lifetimes/issue-34979.stderr new file mode 100644 index 0000000000000..04ad0d1276647 --- /dev/null +++ b/src/test/ui/lifetimes/issue-34979.stderr @@ -0,0 +1,14 @@ +error[E0283]: type annotations needed + --> $DIR/issue-34979.rs:6:13 + | +LL | trait Foo {} + | --------- required by this bound in `Foo` +... +LL | &'a (): Foo, + | ^^^ cannot infer type for reference `&'a ()` + | + = note: cannot satisfy `&'a (): Foo` + +error: aborting due to previous error + +For more information about this error, try `rustc --explain E0283`.