Open dneto0 opened 1 year ago
https://github.com/gpuweb/gpuweb/pull/3859 has landed now.
With https://github.com/gpuweb/gpuweb/pull/3878 the template list discovery algorithm has been fixed to handle subexpressions involving '<' and '=', e.g.
// Comparisons with = in it, i.e. != <= >= == alias a = array<f32,select(2,1,a<=b)>; // the = was confounding the algorithm before.
Allow left shifts: const c = array<f32,1<<2>
The start of a template list can't look like <=
const a = 12;
const b = 13;
const c = 15;
const d = 16;
const e = vec2(a <= b, c >d); // this parses just fine, as if vec2((a<=b),(c>d))
See https://github.com/gpuweb/gpuweb/pull/3859 (It hasn't landed yet).
Can shadow predeclared types and type-generators
Template parameters are now expressions, and can be parenthesized.
Enumerants used in attributes are expressions, and can be parenthesized.