//@ run-pass
#![allow(dead_code)]

use std::mem::{discriminant, Discriminant};
use std::hint::black_box;

enum Test {
    A(u8),
    B,
    C { a: u8, b: u8 },
}

const TEST_A: Discriminant<Test> = discriminant(&Test::A(5));
const TEST_A_OTHER: Discriminant<Test> = discriminant(&Test::A(17));
const TEST_B: Discriminant<Test> = discriminant(&Test::B);

enum Void {}

enum SingleVariant {
    V,
    Never(Void),
}

const TEST_V: Discriminant<SingleVariant> = discriminant(&SingleVariant::V);

fn main() {
    assert_eq!(TEST_A, TEST_A_OTHER);
    assert_eq!(TEST_A, discriminant(black_box(&Test::A(17))));
    assert_eq!(TEST_B, discriminant(black_box(&Test::B)));
    assert_ne!(TEST_A, TEST_B);
    assert_ne!(TEST_B, discriminant(black_box(&Test::C { a: 42, b: 7 })));

    assert_eq!(TEST_V, discriminant(black_box(&SingleVariant::V)));
}
