From 9a0a622a042d0ed04ad349d8bb778e40dd417a16 Mon Sep 17 00:00:00 2001 From: Ilya Yanok Date: Thu, 28 Oct 2021 14:25:46 +0000 Subject: [PATCH] Add test cases --- src/test/ui/traits/issue-90195-2.rs | 20 ++++++++++++++++++++ src/test/ui/traits/issue-90195.rs | 21 +++++++++++++++++++++ 2 files changed, 41 insertions(+) create mode 100644 src/test/ui/traits/issue-90195-2.rs create mode 100644 src/test/ui/traits/issue-90195.rs diff --git a/src/test/ui/traits/issue-90195-2.rs b/src/test/ui/traits/issue-90195-2.rs new file mode 100644 index 000000000000..b739dc46e4e8 --- /dev/null +++ b/src/test/ui/traits/issue-90195-2.rs @@ -0,0 +1,20 @@ +// check-pass +pub trait Archive { + type Archived; +} + +impl Archive for Option { + type Archived = (); +} +pub type Archived = ::Archived; + +pub trait Deserialize {} + +const ARRAY_SIZE: usize = 32; +impl<__D> Deserialize<__D> for () +where + Option<[u8; ARRAY_SIZE]>: Archive, + Archived>: Deserialize<__D>, +{ +} +fn main() {} diff --git a/src/test/ui/traits/issue-90195.rs b/src/test/ui/traits/issue-90195.rs new file mode 100644 index 000000000000..543c9f197e1b --- /dev/null +++ b/src/test/ui/traits/issue-90195.rs @@ -0,0 +1,21 @@ +// check-pass +pub trait Archive { + type Archived; +} + +impl Archive for Option { + type Archived = (); +} +pub type Archived = ::Archived; + +pub trait Deserialize {} + +const ARRAY_SIZE: usize = 32; +impl<__D> Deserialize<__D> for () +where + Option<[u8; ARRAY_SIZE]>: Archive, + Option<[u8; ARRAY_SIZE]>: Archive, + Archived>: Deserialize<__D>, +{ +} +fn main() {}