summaryrefslogtreecommitdiffstats
path: root/src/test/ui/suggestions/impl-on-dyn-trait-with-implicit-static-bound.rs
diff options
context:
space:
mode:
authorDaniel Baumann <daniel.baumann@progress-linux.org>2024-04-17 12:19:13 +0000
committerDaniel Baumann <daniel.baumann@progress-linux.org>2024-04-17 12:19:13 +0000
commit218caa410aa38c29984be31a5229b9fa717560ee (patch)
treec54bd55eeb6e4c508940a30e94c0032fbd45d677 /src/test/ui/suggestions/impl-on-dyn-trait-with-implicit-static-bound.rs
parentReleasing progress-linux version 1.67.1+dfsg1-1~progress7.99u1. (diff)
downloadrustc-218caa410aa38c29984be31a5229b9fa717560ee.tar.xz
rustc-218caa410aa38c29984be31a5229b9fa717560ee.zip
Merging upstream version 1.68.2+dfsg1.
Signed-off-by: Daniel Baumann <daniel.baumann@progress-linux.org>
Diffstat (limited to 'src/test/ui/suggestions/impl-on-dyn-trait-with-implicit-static-bound.rs')
-rw-r--r--src/test/ui/suggestions/impl-on-dyn-trait-with-implicit-static-bound.rs114
1 files changed, 0 insertions, 114 deletions
diff --git a/src/test/ui/suggestions/impl-on-dyn-trait-with-implicit-static-bound.rs b/src/test/ui/suggestions/impl-on-dyn-trait-with-implicit-static-bound.rs
deleted file mode 100644
index ae3cd315c..000000000
--- a/src/test/ui/suggestions/impl-on-dyn-trait-with-implicit-static-bound.rs
+++ /dev/null
@@ -1,114 +0,0 @@
-// FIXME(#96332): We should be able to suggest a fix and automatically fix.
-
-#![allow(dead_code)]
-
-mod foo {
- trait OtherTrait<'a> {}
- impl<'a> OtherTrait<'a> for &'a () {}
-
- trait ObjectTrait<T> {}
- trait MyTrait<T> {
- fn use_self<K>(&self) -> &();
- }
- trait Irrelevant {}
-
- impl<T> MyTrait<T> for dyn ObjectTrait<T> {
- fn use_self<K>(&self) -> &() { panic!() }
- }
- impl<T> Irrelevant for dyn ObjectTrait<T> {}
-
- fn use_it<'a, T>(val: &'a dyn ObjectTrait<T>) -> impl OtherTrait<'a> + 'a {
- val.use_self::<T>() //~ ERROR borrowed data escapes
- }
-}
-
-mod bar {
- trait ObjectTrait {}
- trait MyTrait {
- fn use_self(&self) -> &();
- }
- trait Irrelevant {}
-
- impl MyTrait for dyn ObjectTrait {
- fn use_self(&self) -> &() { panic!() }
- }
- impl Irrelevant for dyn ObjectTrait {}
-
- fn use_it<'a>(val: &'a dyn ObjectTrait) -> &'a () {
- val.use_self()
- }
-}
-
-mod baz {
- trait ObjectTrait {}
- trait MyTrait {
- fn use_self(&self) -> &();
- }
- trait Irrelevant {}
-
- impl MyTrait for Box<dyn ObjectTrait> {
- fn use_self(&self) -> &() { panic!() }
- }
- impl Irrelevant for Box<dyn ObjectTrait> {}
-
- fn use_it<'a>(val: &'a Box<dyn ObjectTrait + 'a>) -> &'a () {
- val.use_self()
- }
-}
-
-mod bat {
- trait OtherTrait<'a> {}
- impl<'a> OtherTrait<'a> for &'a () {}
-
- trait ObjectTrait {}
-
- impl dyn ObjectTrait {
- fn use_self(&self) -> &() { panic!() }
- }
-
- fn use_it<'a>(val: &'a dyn ObjectTrait) -> impl OtherTrait<'a> + 'a {
- val.use_self()
- //~^ ERROR borrowed data escapes
- }
-}
-
-mod ban {
- trait OtherTrait<'a> {}
- impl<'a> OtherTrait<'a> for &'a () {}
-
- trait ObjectTrait {}
- trait MyTrait {
- fn use_self(&self) -> &() { panic!() }
- }
- trait Irrelevant {
- fn use_self(&self) -> &() { panic!() }
- }
-
- impl MyTrait for dyn ObjectTrait {}
-
- fn use_it<'a>(val: &'a dyn ObjectTrait) -> impl OtherTrait<'a> {
- val.use_self() //~ ERROR borrowed data escapes
- }
-}
-
-mod bal {
- trait OtherTrait<'a> {}
- impl<'a> OtherTrait<'a> for &'a () {}
-
- trait ObjectTrait {}
- trait MyTrait {
- fn use_self(&self) -> &() { panic!() }
- }
- trait Irrelevant {
- fn use_self(&self) -> &() { panic!() }
- }
-
- impl MyTrait for dyn ObjectTrait {}
- impl Irrelevant for dyn ObjectTrait {}
-
- fn use_it<'a>(val: &'a dyn ObjectTrait) -> impl OtherTrait<'a> + 'a {
- MyTrait::use_self(val) //~ ERROR borrowed data escapes
- }
-}
-
-fn main() {}