diff options
Diffstat (limited to 'src/test/ui/associated-types/issue-21726.rs')
-rw-r--r-- | src/test/ui/associated-types/issue-21726.rs | 38 |
1 files changed, 0 insertions, 38 deletions
diff --git a/src/test/ui/associated-types/issue-21726.rs b/src/test/ui/associated-types/issue-21726.rs deleted file mode 100644 index b98cf2166..000000000 --- a/src/test/ui/associated-types/issue-21726.rs +++ /dev/null @@ -1,38 +0,0 @@ -// check-pass -#![allow(dead_code)] -// Regression test for #21726: an issue arose around the rules for -// subtyping of projection types that resulted in an unconstrained -// region, yielding region inference failures. - -// pretty-expanded FIXME #23616 - -fn main() { } - -fn foo<'a>(s: &'a str) { - let b: B<()> = B::new(s, ()); - b.get_short(); -} - -trait IntoRef<'a> { - type T: Clone; - fn into_ref(self, _: &'a str) -> Self::T; -} - -impl<'a> IntoRef<'a> for () { - type T = &'a str; - fn into_ref(self, s: &'a str) -> &'a str { - s - } -} - -struct B<'a, P: IntoRef<'a>>(P::T); - -impl<'a, P: IntoRef<'a>> B<'a, P> { - fn new(s: &'a str, i: P) -> B<'a, P> { - B(i.into_ref(s)) - } - - fn get_short(&self) -> P::T { - self.0.clone() - } -} |