about summary refs log tree commit diff
path: root/src/test/ui/empty/empty-never-array.rs
blob: f0ecea42f39c8d388dd8c21b9f061314c87c6228 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
#![feature(never_type)]

enum Helper<T, U> {
    T(T, [!; 0]),
    #[allow(dead_code)]
    U(U),
}

fn transmute<T, U>(t: T) -> U {
    let Helper::U(u) = Helper::T(t, []);
    //~^ ERROR refutable pattern in local binding: `T(_, _)` not covered
    u
    //~^ ERROR use of possibly-uninitialized variable: `u`
}

fn main() {
    println!("{:?}", transmute::<&str, (*const u8, u64)>("type safety"));
}