summaryrefslogtreecommitdiffstats
path: root/src/test/ui/type-alias-impl-trait/constrain_inputs_unsound.rs
diff options
context:
space:
mode:
authorDaniel Baumann <daniel.baumann@progress-linux.org>2024-04-17 12:19:03 +0000
committerDaniel Baumann <daniel.baumann@progress-linux.org>2024-04-17 12:19:03 +0000
commit64d98f8ee037282c35007b64c2649055c56af1db (patch)
tree5492bcf97fce41ee1c0b1cc2add283f3e66cdab0 /src/test/ui/type-alias-impl-trait/constrain_inputs_unsound.rs
parentAdding debian version 1.67.1+dfsg1-1. (diff)
downloadrustc-64d98f8ee037282c35007b64c2649055c56af1db.tar.xz
rustc-64d98f8ee037282c35007b64c2649055c56af1db.zip
Merging upstream version 1.68.2+dfsg1.
Signed-off-by: Daniel Baumann <daniel.baumann@progress-linux.org>
Diffstat (limited to 'src/test/ui/type-alias-impl-trait/constrain_inputs_unsound.rs')
-rw-r--r--src/test/ui/type-alias-impl-trait/constrain_inputs_unsound.rs31
1 files changed, 0 insertions, 31 deletions
diff --git a/src/test/ui/type-alias-impl-trait/constrain_inputs_unsound.rs b/src/test/ui/type-alias-impl-trait/constrain_inputs_unsound.rs
deleted file mode 100644
index 3bae0f173..000000000
--- a/src/test/ui/type-alias-impl-trait/constrain_inputs_unsound.rs
+++ /dev/null
@@ -1,31 +0,0 @@
-#![feature(type_alias_impl_trait)]
-
-trait Static: 'static {}
-impl Static for () {}
-
-type Gal<T> = impl Static;
-fn _defining<T>() -> Gal<T> {}
-
-trait Callable<Arg> { type Output; }
-
-/// We can infer `<C as Callable<Arg>>::Output: 'static`,
-/// because we know `C: 'static` and `Arg: 'static`,
-fn box_str<C, Arg>(s: C::Output) -> Box<dyn AsRef<str> + 'static>
-where
- Arg: Static,
- C: ?Sized + Callable<Arg> + 'static,
- C::Output: AsRef<str>,
-{
- Box::new(s)
-}
-
-fn extend_lifetime(s: &str) -> Box<dyn AsRef<str> + 'static> {
- type MalformedTy = dyn for<'a> Callable<Gal<&'a ()>, Output = &'a str>;
- //~^ ERROR binding for associated type `Output` references lifetime `'a`
- box_str::<MalformedTy, _>(s)
-}
-
-fn main() {
- let extended = extend_lifetime(&String::from("hello"));
- println!("{}", extended.as_ref().as_ref());
-}