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 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65
|
// RUN: %not %wgslc | %check
// CHECK-L: const assertion condition must be a bool, got '<AbstractInt>'
const_assert(1);
// CHECK-L: unresolved identifier 'undefined'
const_assert(undefined);
// CHECK-L: cannot use type 'vec2' as value
const_assert(vec2);
// CHECK-L: cannot use type 'i32' as value
const_assert(i32);
// CHECK-L: unresolved identifier 'sqrt'
const_assert(sqrt);
// CHECK-L: const assertion failed
const_assert(1 > 2);
const x = 1;
const y = 2;
// CHECK-L: const assertion failed
const_assert(x > y);
var<private> z = 3;
// CHECK-L: cannot use runtime value in constant expression
const_assert(x > z);
fn f()
{
// CHECK-L: const assertion condition must be a bool, got '<AbstractInt>'
const_assert(1);
// CHECK-L: unresolved identifier 'undefined'
const_assert(undefined);
// CHECK-L: cannot use type 'vec2' as value
const_assert(vec2);
// CHECK-L: cannot use type 'i32' as value
const_assert(i32);
// CHECK-L: unresolved identifier 'sqrt'
const_assert(sqrt);
// CHECK-L: const assertion failed
const_assert(1 > 2);
const x = 1;
const y = 2;
// CHECK-L: const assertion failed
const_assert(x > y);
let z = 3;
// CHECK-L: cannot use runtime value in constant expression
const_assert(x > z);
}
// CHECK-L: cannot use function 'f' as value
const_assert(f);
|