diff options
author | Daniel Baumann <daniel.baumann@progress-linux.org> | 2024-04-17 12:19:03 +0000 |
---|---|---|
committer | Daniel Baumann <daniel.baumann@progress-linux.org> | 2024-04-17 12:19:03 +0000 |
commit | 64d98f8ee037282c35007b64c2649055c56af1db (patch) | |
tree | 5492bcf97fce41ee1c0b1cc2add283f3e66cdab0 /src/test/ui/suggestions/impl-on-dyn-trait-with-implicit-static-bound-needing-more-suggestions.rs | |
parent | Adding debian version 1.67.1+dfsg1-1. (diff) | |
download | rustc-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/suggestions/impl-on-dyn-trait-with-implicit-static-bound-needing-more-suggestions.rs')
-rw-r--r-- | src/test/ui/suggestions/impl-on-dyn-trait-with-implicit-static-bound-needing-more-suggestions.rs | 113 |
1 files changed, 0 insertions, 113 deletions
diff --git a/src/test/ui/suggestions/impl-on-dyn-trait-with-implicit-static-bound-needing-more-suggestions.rs b/src/test/ui/suggestions/impl-on-dyn-trait-with-implicit-static-bound-needing-more-suggestions.rs deleted file mode 100644 index 711cbbd38..000000000 --- a/src/test/ui/suggestions/impl-on-dyn-trait-with-implicit-static-bound-needing-more-suggestions.rs +++ /dev/null @@ -1,113 +0,0 @@ -// FIXME: the following cases need to suggest more things to make users reach a working end state. - -mod bav { - trait OtherTrait<'a> {} - impl<'a> OtherTrait<'a> for &'a () {} - - trait ObjectTrait { - type Assoc: Bar; - } - trait MyTrait { - fn use_self(&self) -> &() { panic!() } - } - trait Bar {} - - impl MyTrait for Box<dyn ObjectTrait<Assoc = i32>> { - fn use_self(&self) -> &() { panic!() } - } - impl Bar for i32 {} - - fn use_it<'a>(val: Box<dyn ObjectTrait<Assoc = i32>>) -> impl OtherTrait<'a> { - val.use_self() //~ ERROR cannot return reference to function parameter - } -} - -mod bap { - trait OtherTrait<'a> {} - impl<'a> OtherTrait<'a> for &'a () {} - - trait ObjectTrait { - type Assoc: Bar; - } - trait MyTrait { - fn use_self(&self) -> &() { panic!() } - } - trait Bar {} - - impl MyTrait for Box<dyn ObjectTrait<Assoc = i32>> { - fn use_self(&self) -> &() { panic!() } - } - impl Bar for i32 {} - - fn use_it<'a>(val: Box<dyn ObjectTrait<Assoc = i32>>) -> impl OtherTrait<'a> + 'a { - val.use_self() //~ ERROR E0515 - } -} - -// This case in particular requires the user to write all of the bounds we have in `mod bax`. -mod bay { - trait OtherTrait<'a> {} - impl<'a> OtherTrait<'a> for &'a () {} - - trait ObjectTrait { - type Assoc: Bar; - } - trait MyTrait { - fn use_self(&self) -> &() { panic!() } - } - trait Bar {} - - impl MyTrait for Box<dyn ObjectTrait<Assoc = i32>> { - fn use_self(&self) -> &() { panic!() } - } - impl Bar for i32 {} - - fn use_it<'a>(val: Box<dyn ObjectTrait<Assoc = i32> + 'a>) -> &'a () { - val.use_self() - } -} - -mod bax { - trait OtherTrait<'a> {} - impl<'a> OtherTrait<'a> for &'a () {} - - trait ObjectTrait { - type Assoc: Bar; - } - trait MyTrait<'a> { - fn use_self(&'a self) -> &'a () { panic!() } - } - trait Bar {} - - impl<'a> MyTrait<'a> for Box<dyn ObjectTrait<Assoc = i32> + 'a> { - fn use_self(&'a self) -> &'a () { panic!() } - } - impl Bar for i32 {} - - fn use_it<'a>(val: Box<dyn ObjectTrait<Assoc = i32> + 'a>) -> &'a () { - val.use_self() - } -} - -mod baw { - trait OtherTrait<'a> {} - impl<'a> OtherTrait<'a> for &'a () {} - - trait ObjectTrait { - type Assoc: Bar; - } - trait MyTrait { - fn use_self(&self) -> &() { panic!() } - } - trait Bar {} - - impl<'a> MyTrait for Box<dyn ObjectTrait<Assoc = Box<dyn Bar>>> { - fn use_self(&self) -> &() { panic!() } - } - - fn use_it<'a>(val: Box<dyn ObjectTrait<Assoc = Box<dyn Bar>>>) -> impl OtherTrait<'a> + 'a{ - val.use_self() //~ ERROR E0515 - } -} - -fn main() {} |