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/generic-associated-types/issue-79422.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/generic-associated-types/issue-79422.rs')
-rw-r--r-- | src/test/ui/generic-associated-types/issue-79422.rs | 50 |
1 files changed, 0 insertions, 50 deletions
diff --git a/src/test/ui/generic-associated-types/issue-79422.rs b/src/test/ui/generic-associated-types/issue-79422.rs deleted file mode 100644 index a52dd792d..000000000 --- a/src/test/ui/generic-associated-types/issue-79422.rs +++ /dev/null @@ -1,50 +0,0 @@ -// revisions: base extended - -#![cfg_attr(extended, feature(generic_associated_types_extended))] -#![cfg_attr(extended, allow(incomplete_features))] - -trait RefCont<'a, T> { - fn t(&'a self) -> &'a T; -} - -impl<'a, T> RefCont<'a, T> for &'a T { - fn t(&'a self) -> &'a T { - self - } -} - -impl<'a, T> RefCont<'a, T> for Box<T> { - fn t(&'a self) -> &'a T { - self.as_ref() - } -} - -trait MapLike<K, V> { - type VRefCont<'a>: RefCont<'a, V> where Self: 'a; - fn get<'a>(&'a self, key: &K) -> Option<Self::VRefCont<'a>>; -} - -impl<K: Ord, V: 'static> MapLike<K, V> for std::collections::BTreeMap<K, V> { - type VRefCont<'a> = &'a V where Self: 'a; - fn get<'a>(&'a self, key: &K) -> Option<&'a V> { - std::collections::BTreeMap::get(self, key) - } -} - -struct Source; - -impl<K, V: Default> MapLike<K, V> for Source { - type VRefCont<'a> = Box<V>; - fn get<'a>(&self, _: &K) -> Option<Box<V>> { - Some(Box::new(V::default())) - } -} - -fn main() { - let m = Box::new(std::collections::BTreeMap::<u8, u8>::new()) - //[base]~^ ERROR the trait - //[extended]~^^ type mismatch - as Box<dyn MapLike<u8, u8, VRefCont = dyn RefCont<'_, u8>>>; - //~^ ERROR missing generics for associated type - //[base]~^^ ERROR the trait -} |