SD0009
On this page

SD0009

Core code

.select() on a non-bool condition

The registry text and every compiler message on these pages are the compiler's own English.

In the front end

A "use typeshade" file never reaches this check with the same mistake: the front end refuses it first, under its own code. This program, compiled at build time, gets:

example.shade.ts
"use typeshade"
@fragment
export function main(@location(0) uv: vec2): vec4 {
return vec4(uv, select(0., 1., uv.x), 1.)
}

TS8003 error, line 5: select condition must be bool or a vector of bools, got f32. The order is WGSL's: select(falseValue, trueValue, cond).

How to fix it

The registry's hint: the receiver of .select(a, b) must be a Node<bool>

See also

TS8003 TYPE_MISMATCH
Two types that do not fit where they meet (an operator, a condition, a declaration, a return or an argument), or a constant the compiler folds that WGSL refuses: a shift amount past 31, a divisor of 0, clamp bounds that cross or an f32 past its range.

Source

Where the compiler raises this code at commit 26de7be8, one line per file:

Edit this page Report a problem