diff options
author | Daniel Baumann <daniel.baumann@progress-linux.org> | 2024-04-17 12:19:13 +0000 |
---|---|---|
committer | Daniel Baumann <daniel.baumann@progress-linux.org> | 2024-04-17 12:19:13 +0000 |
commit | 218caa410aa38c29984be31a5229b9fa717560ee (patch) | |
tree | c54bd55eeb6e4c508940a30e94c0032fbd45d677 /src/test/ui/traits/alias/bounds.rs | |
parent | Releasing progress-linux version 1.67.1+dfsg1-1~progress7.99u1. (diff) | |
download | rustc-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/traits/alias/bounds.rs')
-rw-r--r-- | src/test/ui/traits/alias/bounds.rs | 57 |
1 files changed, 0 insertions, 57 deletions
diff --git a/src/test/ui/traits/alias/bounds.rs b/src/test/ui/traits/alias/bounds.rs deleted file mode 100644 index b97eb38c5..000000000 --- a/src/test/ui/traits/alias/bounds.rs +++ /dev/null @@ -1,57 +0,0 @@ -// run-pass - -#![feature(trait_alias)] - -use std::marker::PhantomData; - -trait Empty {} -trait EmptyAlias = Empty; -trait CloneDefault = Clone + Default; -trait SendSyncAlias = Send + Sync; -trait WhereSendAlias = where Self: Send; -trait SendEqAlias<T> = Send where T: PartialEq<Self>; -trait I32Iterator = Iterator<Item = i32>; - -#[allow(dead_code)] -struct Foo<T: SendSyncAlias>(PhantomData<T>); -#[allow(dead_code)] -struct Bar<T>(PhantomData<T>) where T: SendSyncAlias; - -impl dyn EmptyAlias {} - -impl<T: SendSyncAlias> Empty for T {} - -fn a<T: CloneDefault>() -> (T, T) { - let one = T::default(); - let two = one.clone(); - (one, two) -} - -fn b(x: &impl SendEqAlias<i32>) -> bool { - 22_i32 == *x -} - -fn c<T: I32Iterator>(x: &mut T) -> Option<i32> { - x.next() -} - -fn d<T: SendSyncAlias>() { - is_send_and_sync::<T>(); -} - -fn is_send_and_sync<T: Send + Sync>() {} - -fn main() { - let both = a::<i32>(); - assert_eq!(both.0, 0); - assert_eq!(both.1, 0); - let both: (i32, i32) = a(); - assert_eq!(both.0, 0); - assert_eq!(both.1, 0); - - assert!(b(&22)); - - assert_eq!(c(&mut vec![22].into_iter()), Some(22)); - - d::<i32>(); -} |