summaryrefslogtreecommitdiffstats
path: root/src/test/ui/deriving/deriving-associated-types.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/deriving/deriving-associated-types.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/deriving/deriving-associated-types.rs')
-rw-r--r--src/test/ui/deriving/deriving-associated-types.rs199
1 files changed, 0 insertions, 199 deletions
diff --git a/src/test/ui/deriving/deriving-associated-types.rs b/src/test/ui/deriving/deriving-associated-types.rs
deleted file mode 100644
index 4b1cbe80c..000000000
--- a/src/test/ui/deriving/deriving-associated-types.rs
+++ /dev/null
@@ -1,199 +0,0 @@
-// run-pass
-pub trait DeclaredTrait {
- type Type;
-}
-
-impl DeclaredTrait for i32 {
- type Type = i32;
-}
-
-pub trait WhereTrait {
- type Type;
-}
-
-impl WhereTrait for i32 {
- type Type = i32;
-}
-
-// Make sure we don't add a bound that just shares a name with an associated
-// type.
-pub mod module {
- pub type Type = i32;
-}
-
-#[derive(PartialEq, Debug)]
-struct PrivateStruct<T>(T);
-
-#[derive(PartialEq, Debug)]
-struct TupleStruct<A, B: DeclaredTrait, C>(
- module::Type,
- Option<module::Type>,
- A,
- PrivateStruct<A>,
- B,
- B::Type,
- Option<B::Type>,
- <B as DeclaredTrait>::Type,
- Option<<B as DeclaredTrait>::Type>,
- C,
- C::Type,
- Option<C::Type>,
- <C as WhereTrait>::Type,
- Option<<C as WhereTrait>::Type>,
- <i32 as DeclaredTrait>::Type,
-) where C: WhereTrait;
-
-#[derive(PartialEq, Debug)]
-pub struct Struct<A, B: DeclaredTrait, C> where C: WhereTrait {
- m1: module::Type,
- m2: Option<module::Type>,
- a1: A,
- a2: PrivateStruct<A>,
- b: B,
- b1: B::Type,
- b2: Option<B::Type>,
- b3: <B as DeclaredTrait>::Type,
- b4: Option<<B as DeclaredTrait>::Type>,
- c: C,
- c1: C::Type,
- c2: Option<C::Type>,
- c3: <C as WhereTrait>::Type,
- c4: Option<<C as WhereTrait>::Type>,
- d: <i32 as DeclaredTrait>::Type,
-}
-
-#[derive(PartialEq, Debug)]
-enum Enum<A, B: DeclaredTrait, C> where C: WhereTrait {
- Unit,
- Seq(
- module::Type,
- Option<module::Type>,
- A,
- PrivateStruct<A>,
- B,
- B::Type,
- Option<B::Type>,
- <B as DeclaredTrait>::Type,
- Option<<B as DeclaredTrait>::Type>,
- C,
- C::Type,
- Option<C::Type>,
- <C as WhereTrait>::Type,
- Option<<C as WhereTrait>::Type>,
- <i32 as DeclaredTrait>::Type,
- ),
- Map {
- m1: module::Type,
- m2: Option<module::Type>,
- a1: A,
- a2: PrivateStruct<A>,
- b: B,
- b1: B::Type,
- b2: Option<B::Type>,
- b3: <B as DeclaredTrait>::Type,
- b4: Option<<B as DeclaredTrait>::Type>,
- c: C,
- c1: C::Type,
- c2: Option<C::Type>,
- c3: <C as WhereTrait>::Type,
- c4: Option<<C as WhereTrait>::Type>,
- d: <i32 as DeclaredTrait>::Type,
- },
-}
-
-fn main() {
- let e: TupleStruct<
- i32,
- i32,
- i32,
- > = TupleStruct(
- 0,
- None,
- 0,
- PrivateStruct(0),
- 0,
- 0,
- None,
- 0,
- None,
- 0,
- 0,
- None,
- 0,
- None,
- 0,
- );
- assert_eq!(e, e);
-
- let e: Struct<
- i32,
- i32,
- i32,
- > = Struct {
- m1: 0,
- m2: None,
- a1: 0,
- a2: PrivateStruct(0),
- b: 0,
- b1: 0,
- b2: None,
- b3: 0,
- b4: None,
- c: 0,
- c1: 0,
- c2: None,
- c3: 0,
- c4: None,
- d: 0,
- };
- assert_eq!(e, e);
-
- let e = Enum::Unit::<i32, i32, i32>;
- assert_eq!(e, e);
-
- let e: Enum<
- i32,
- i32,
- i32,
- > = Enum::Seq(
- 0,
- None,
- 0,
- PrivateStruct(0),
- 0,
- 0,
- None,
- 0,
- None,
- 0,
- 0,
- None,
- 0,
- None,
- 0,
- );
- assert_eq!(e, e);
-
- let e: Enum<
- i32,
- i32,
- i32,
- > = Enum::Map {
- m1: 0,
- m2: None,
- a1: 0,
- a2: PrivateStruct(0),
- b: 0,
- b1: 0,
- b2: None,
- b3: 0,
- b4: None,
- c: 0,
- c1: 0,
- c2: None,
- c3: 0,
- c4: None,
- d: 0,
- };
- assert_eq!(e, e);
-}