SD0004
On this page

SD0004

Core code

binary op on incompatible types

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 {
const m = mat2(1., 0., 0., 1.)
const k = m + 1.
return vec4(uv, 0., 1.)
}

TS8003 error, line 6: Type mismatch: cannot + mat2x2 and f32. Types must match.

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