//@ check-pass | |
struct S; | |
enum E { | |
V, | |
} | |
type A = E; | |
fn main() { | |
let mut a; | |
S = S; | |
(S, a) = (S, ()); | |
E::V = E::V; | |
(E::V, a) = (E::V, ()); | |
<E>::V = E::V; | |
(<E>::V, a) = (E::V, ()); | |
A::V = A::V; | |
(A::V, a) = (E::V, ()); | |
} | |
impl S { | |
fn check() { | |
let a; | |
Self = S; | |
(Self, a) = (S, ()); | |
} | |
} | |
impl E { | |
fn check() { | |
let a; | |
Self::V = E::V; | |
(Self::V, a) = (E::V, ()); | |
} | |
} |