aboutsummaryrefslogtreecommitdiff
path: root/test/cases/compile_errors/truncate_sign_mismatch.zig
blob: a05660e28cb4ccbda338cde2ac28c76efd657d1a (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
export fn entry1() i8 {
    var x: u32 = 10;
    return @truncate(i8, x);
}
export fn entry2() u8 {
    var x: i32 = -10;
    return @truncate(u8, x);
}
export fn entry3() i8 {
    comptime var x: u32 = 10;
    return @truncate(i8, x);
}
export fn entry4() u8 {
    comptime var x: i32 = -10;
    return @truncate(u8, x);
}

// error
// backend=stage2
// target=native
//
// :3:26: error: expected signed integer type, found 'u32'
// :7:26: error: expected unsigned integer type, found 'i32'
// :11:26: error: expected signed integer type, found 'u32'
// :15:26: error: expected unsigned integer type, found 'i32'