Break the monolithic examples/50-smoke.sx into 30 focused per-section examples,
filed into their category blocks (basic/types/comptime/memory/protocols/ffi),
each carrying only the top-level decls its section references (the protocols
section keeps the full preamble — its deps flow through UFCS method calls that
name-based extraction can't see). Outputs verified identical to the original
section blocks.
Add examples/1036-errors-failable-smoke.sx — an end-to-end error-handling example
(the E5.4 work): named + inferred error sets consumed via destructure, try (in
helpers), catch (bare-expr / match-body / diverging / no-binding), or
value-terminator, onfail+defer interleave, and error.X value + {} tag
interpolation.
Remove examples/50-smoke.sx. Suite: 324 passed, 0 failed.
61 lines
741 B
Plaintext
61 lines
741 B
Plaintext
=== 2. Operators ===
|
|
add: 7
|
|
sub: 7
|
|
mul: 42
|
|
div: 5
|
|
mod: 2
|
|
neg: -5
|
|
eq: true
|
|
neq: true
|
|
lt: true
|
|
gt: true
|
|
le: true
|
|
ge: true
|
|
chain: true
|
|
chain-gt: true
|
|
chain-mixed: true
|
|
eq-chain: true
|
|
eq-chain-f: false
|
|
band: 15
|
|
bor: 7
|
|
bxor: 240
|
|
bxor2: 5
|
|
bnot: -1
|
|
bnot2: -2
|
|
shl: 16
|
|
shr: 16
|
|
shl2: 24
|
|
shr2: 127
|
|
band-var: 15
|
|
bor-var: 7
|
|
bxor-var: 240
|
|
shl-var: 16
|
|
shr-var: 15
|
|
bnot-var: -16
|
|
and-assign: 15
|
|
or-assign: 255
|
|
xor-assign: 240
|
|
shl-assign: 256
|
|
shr-assign: 16
|
|
mod-var: 2
|
|
and: true
|
|
and-false: false
|
|
or: true
|
|
or-false: false
|
|
short-and: false
|
|
short-or: true
|
|
ca+=: 15
|
|
ca-=: 12
|
|
ca*=: 24
|
|
ca/=: 4
|
|
prec1: 14
|
|
prec2: 20
|
|
xx-cast: 200
|
|
widen-u8-s64: 200
|
|
widen-s32-f64: 42.000000
|
|
widen-f32-f64: 1.500000
|
|
widen-u8-s16: 100
|
|
xx-s64-s32: 12345
|
|
xx-f64-f32: 1.500000
|
|
xx-f64-s32: 7
|