From e9d219e97c9b87e928d131ac071fef96e906c464 Mon Sep 17 00:00:00 2001 From: Oli Scherer Date: Fri, 23 Sep 2022 07:15:55 +0000 Subject: [PATCH] Make the test actually show the problematic case --- .../implied_lifetime_wf_check.rs | 29 ++++++++++++------- .../implied_lifetime_wf_check.stderr | 9 ------ 2 files changed, 19 insertions(+), 19 deletions(-) delete mode 100644 src/test/ui/type-alias-impl-trait/implied_lifetime_wf_check.stderr diff --git a/src/test/ui/type-alias-impl-trait/implied_lifetime_wf_check.rs b/src/test/ui/type-alias-impl-trait/implied_lifetime_wf_check.rs index a2063cf5e3e..b6a7264a529 100644 --- a/src/test/ui/type-alias-impl-trait/implied_lifetime_wf_check.rs +++ b/src/test/ui/type-alias-impl-trait/implied_lifetime_wf_check.rs @@ -1,18 +1,27 @@ -trait Mirror<'a> { - type Item; +#![feature(type_alias_impl_trait)] + +// known-bug: #99840 +// this should not compile +// check-pass + +type Alias = impl Sized; + +fn constrain() -> Alias { + 1i32 } -impl<'a, T> Mirror<'a> for T { - type Item = T; +trait HideIt { + type Assoc; } -trait AnotherTrait { - type Blah; +impl HideIt for () { + type Assoc = Alias; } -impl<'a> AnotherTrait for >::Item { - //~^ ERROR: the lifetime parameter `'a` is not constrained - type Blah = &'a u32; -} +pub trait Yay {} + +impl Yay for <() as HideIt>::Assoc {} +// impl Yay for i32 {} // this already errors +// impl Yay for u32 {} // this also already errors fn main() {} diff --git a/src/test/ui/type-alias-impl-trait/implied_lifetime_wf_check.stderr b/src/test/ui/type-alias-impl-trait/implied_lifetime_wf_check.stderr deleted file mode 100644 index cadf2ce4a9d..00000000000 --- a/src/test/ui/type-alias-impl-trait/implied_lifetime_wf_check.stderr +++ /dev/null @@ -1,9 +0,0 @@ -error[E0207]: the lifetime parameter `'a` is not constrained by the impl trait, self type, or predicates - --> $DIR/implied_lifetime_wf_check.rs:13:6 - | -LL | impl<'a> AnotherTrait for >::Item { - | ^^ unconstrained lifetime parameter - -error: aborting due to previous error - -For more information about this error, try `rustc --explain E0207`.