summaryrefslogtreecommitdiffstats
path: root/tests/ui/traits/issue-90195.rs
blob: 543c9f197e1bb92e8d66603009bf88a67962858c (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
// check-pass
pub trait Archive {
    type Archived;
}

impl<T> Archive for Option<T> {
    type Archived = ();
}
pub type Archived<T> = <T as Archive>::Archived;

pub trait Deserialize<D> {}

const ARRAY_SIZE: usize = 32;
impl<__D> Deserialize<__D> for ()
where
    Option<[u8; ARRAY_SIZE]>: Archive,
    Option<[u8; ARRAY_SIZE]>: Archive,
    Archived<Option<[u8; ARRAY_SIZE]>>: Deserialize<__D>,
{
}
fn main() {}