Skip to content

docs(cranelift): clear stale status wording + resolve Atomics side-note#1977

Merged
MarcosBrendonDePaula merged 1 commit into
mainfrom
docs/cranelift-md-stale-cleanup
Jul 22, 2026
Merged

docs(cranelift): clear stale status wording + resolve Atomics side-note#1977
MarcosBrendonDePaula merged 1 commit into
mainfrom
docs/cranelift-md-stale-cleanup

Conversation

@MarcosBrendonDePaula

Copy link
Copy Markdown
Member

Final consistency pass: remove wording that reads as open but is done (Step 8 drain, 10-rc commit-pending, slice-2 GC validation) and resolve the one adjacent opportunity the doc flagged — the Atomics primordial inline (unblocked by step 5, but DEFERRED with justification: not a numbered step, niche, ~1 ns instruction per Step 4's lesson). Doc-only.

🤖 Generated with Claude Code

…e-note

Final pass over CRANELIFT_IMPLEMENTATION.md to remove wording that reads as open
work but is done, and to resolve the one adjacent opportunity the doc flagged:
- Step 8 title "(DONE, drain pending)" -> "(DONE)" (the `abi::Intrinsic` enum is
  fully deleted; grep confirms no `Intrinsic`/`Member.intrinsic` remains).
- 10-rc "The fix (commit pending)" -> "(shipped, PR #1972)".
- Slice-2 "Still to validate: GC stack-map coverage for byte-defined frames" ->
  resolved: the AOT-L3 investigation confirmed there are NO precise stack maps
  (`stack_map_registry` dead); JIT and AOT share one conservative scanner covering
  both frame kinds, suite passes — a non-issue, not a pending gate.
- `Atomics` primordial: was "blocked on step 5" (now done). DEFERRED with
  justification — not a numbered step, niche, and by Step 4's measured lesson the
  atomic instruction is ~1 ns so the call-removal win is modest; revisit only if a
  real workload shows Atomics hot.

The deep slice-2 build-saga narrative (a historical journey log closed by "SLICE 2
COMPLETE") is left as the record. Doc-only.

Co-Authored-By: Claude Opus 4.8 (1M context) <[email protected]>
Claude-Session: https://claude.ai/code/session_019WP5GhgeEqjR9VmiGst2Pw
@MarcosBrendonDePaula
MarcosBrendonDePaula merged commit 8c8e9d1 into main Jul 22, 2026
7 checks passed
@MarcosBrendonDePaula
MarcosBrendonDePaula deleted the docs/cranelift-md-stale-cleanup branch July 22, 2026 18:49
@github-actions

Copy link
Copy Markdown
Contributor

Cross-runtime parity (RTS vs Bun vs Node)

Metric Value
Total 679
✅ Pass 482
❌ RTS diverges 90
⚠️ Bun ≠ Node 18
💥 RTS error 89
🚫 Rejected 0

Divergences detected

303_array_fromasync — rts_error

Bun output:

gen=3,6
prom=a,b

Node output:

gen=3,6
prom=a,b

RTS output:

__RUNTIME_ERROR__
418_array_species_subclass — rts_error

Bun output:

true:false:2,4,6
true:true:2,3

Node output:

true:false:2,4,6
true:true:2,3

RTS output:

__RUNTIME_ERROR__
claude-entries-for-of-pair-destructuring — rts_error

Bun output:

entries=0:a,1:b,2:c
idxOnly=0,1,2
valOnly=a,b,c
pairShape=true2,true2,true2
withDefault=0aDEF,1bDEF,2cDEF
restPair=0->a,1->b,2->c
keys=0,1,2
values=a,b,c
valuesMatchDefault=true
letRebind=0A,10B,20C
break=a|len=1
continue=a,c
sparse=0:x,1:undefined,2:z
empty=0
live=0p,1q
nested=0m01,0m12,1n01,1n12
manualPair=0a

Node output:

entries=0:a,1:b,2:c
idxOnly=0,1,2
valOnly=a,b,c
pairShape=true2,true2,true2
withDefault=0aDEF,1bDEF,2cDEF
restPair=0->a,1->b,2->c
keys=0,1,2
values=a,b,c
valuesMatchDefault=true
letRebind=0A,10B,20C
break=a|len=1
continue=a,c
sparse=0:x,1:undefined,2:z
empty=0
live=0p,1q
nested=0m01,0m12,1n01,1n12
manualPair=0a

RTS output:

__RUNTIME_ERROR__
claude-from-arraylike-no-iterator — rts_diverge

Bun output:

basic=a,b,c
gappyLen=4
gappy=x,undefined,z,undefined
gappyHasIdx1=true
overLen=undefined,undefined
zeroLen=0
noLen=0
strLen=1,2,3
negLen=0
fracLen=a,b
nanLen=0
undefLen=0
mapFn=10,21,32
strKeys=s0,s1
protoIdx=own,fromProto
getter=plain,got|hits=1
iteratorWins=I1,I2

Node output:

basic=a,b,c
gappyLen=4
gappy=x,undefined,z,undefined
gappyHasIdx1=true
overLen=undefined,undefined
zeroLen=0
noLen=0
strLen=1,2,3
negLen=0
fracLen=a,b
nanLen=0
undefLen=0
mapFn=10,21,32
strKeys=s0,s1
protoIdx=own,fromProto
getter=plain,got|hits=1
iteratorWins=I1,I2

RTS output:

basic=a,b,c
gappyLen=4
gappy=x,undefined,z,undefined
gappyHasIdx1=true
overLen=undefined,undefined
zeroLen=0
noLen=undefined
strLen=1,2,3
negLen=undefined
fracLen=a,b
nanLen=undefined
undefLen=undefined
mapFn=10,21,32
strKeys=s0,s1
protoIdx=own,fromProto
getter=plain,got|hits=1
iteratorWins=L0,L1,L2
codex_array_concat_spreadable_edges — rts_error

Bun output:

6
1,2,a,b,3|4,z
true

Node output:

6
1,2,a,b,3|4,z
true

RTS output:

__RUNTIME_ERROR__
codex_array_from_iterator_close_on_throw — rts_diverge

Bun output:

stop
next0,next1,next2,return

Node output:

stop
next0,next1,next2,return

RTS output:


codex_array_iterator_reused_result_object — rts_diverge

Bun output:

0,1,2

Node output:

0,1,2

RTS output:


codex_array_length_define_traps — rts_diverge

Bun output:

after-define=7:1|2|3|4|||7:0,1,2,3,6
after-trunc=2:1|2:0,1
RangeError
final=2:1|2

Node output:

after-define=7:1|2|3|4|||7:0,1,2,3,6
after-trunc=2:1|2:0,1
RangeError
final=2:1|2

RTS output:

after-define=4:1|2|3|4:0,1,2,3
after-trunc=4:1|2|3|4:0,1,2,3
final=4:1|2|3|4
codex_array_methods_thisarg_mutation — rts_error

Bun output:

3,6,9,120
1,2,3,40,99
1,2,3

Node output:

3,6,9,120
1,2,3,40,99
1,2,3

RTS output:

__RUNTIME_ERROR__
codex_array_species_constructor_poison — rts_error

Bun output:

true
10,20,30
3

Node output:

true
10,20,30
3

RTS output:

__RUNTIME_ERROR__
102_bigint_ops — rts_diverge

Bun output:

add=15
mul=-21
div=5
mod=2
pow=256
cmp=true
asInt=-1
asUint=255

Node output:

add=15
mul=-21
div=5
mod=2
pow=256
cmp=true
asInt=-1
asUint=255

RTS output:

add=15
mul=-21
div=5.666666666666667
mod=2
pow=256
cmp=true
asInt=-1
asUint=255
291_json_bigint — rts_diverge

Bun output:

err=TypeError

Node output:

err=TypeError

RTS output:

err=
317_bigint_literals — rts_diverge

Bun output:

vals=10,255
eq=true
seq=false

Node output:

vals=10,255
eq=true
seq=false

RTS output:

vals=10,255
eq=true
seq=true
65_bigint_typed_arrays — rts_error

Bun output:

arr=1,-2,9007199254740991
dv=-123

Node output:

arr=1,-2,9007199254740991
dv=-123

RTS output:

__RUNTIME_ERROR__
codex_bigint_asuintn_edges — rts_diverge

Bun output:

255
-1
0
7
ffffffffffffffff

Node output:

255
-1
0
7
ffffffffffffffff

RTS output:

255
-1
123
7
7fffffffffffffff
codex_bigint_typedarray_clamp_wrap — rts_error

Bun output:

-1,-9223372036854775808,9223372036854775807
18446744073709551615,0,5

Node output:

-1,-9223372036854775808,9223372036854775807
18446744073709551615,0,5

RTS output:

__RUNTIME_ERROR__
106_error_stack_presence — rts_diverge

Bun output:

name=Error
msg=zap
stack=string
hasBoom=true

Node output:

name=Error
msg=zap
stack=string
hasBoom=true

RTS output:

name=Error
msg=zap
stack=string
hasBoom=false
267_private_fields — rts_error

Bun output:

inner=7:20
outer=SyntaxError

Node output:

inner=7:20
outer=SyntaxError

RTS output:

__RUNTIME_ERROR__
268_private_methods — rts_error

Bun output:

both=6:15
err=SyntaxError

Node output:

both=6:15
err=SyntaxError

RTS output:

__RUNTIME_ERROR__
270_new_target — rts_error

Bun output:

f1=call
f2=[object Object]
wrap=undef
cls=undefined:undefined

Node output:

f1=call
f2=[object Object]
wrap=undef
cls=undefined:undefined

RTS output:

__RUNTIME_ERROR__
271_computed_class_members — rts_error

Bun output:

sum=5
iter=1,2
sym=ok

Node output:

sum=5
iter=1,2
sym=ok

RTS output:

__RUNTIME_ERROR__
376_private_pattern_advanced — rts_error

Bun output:

1,2,3
0
4
5
Vec2(4,6)
Vec2(6,8)
11
idle
true
running
false
true
true
false
stopped

Node output:

1,2,3
0
4
5
Vec2(4,6)
Vec2(6,8)
11
idle
true
running
false
true
true
false
stopped

RTS output:

__RUNTIME_ERROR__
claude-class-expression-const — rts_error

Bun output:

sum=5
str=(2,3)
instance=true
name=Point
length=2
named_self=Inner:1
named_outer=Inner
named_static=Inner:4
named_instance=true
expr_extends=derived>base
expr_chain=true/true
factory_a=a-1
factory_b=b-2
factory_distinct=false
factory_cross=false
from_array=x-0,y-1
iife=inline

Node output:

sum=5
str=(2,3)
instance=true
name=Point
length=2
named_self=Inner:1
named_outer=Inner
named_static=Inner:4
named_instance=true
expr_extends=derived>base
expr_chain=true/true
factory_a=a-1
factory_b=b-2
factory_distinct=false
factory_cross=false
from_array=x-0,y-1
iife=inline

RTS output:

__RUNTIME_ERROR__
claude-closure-this-arrow-vs-function — rts_error

Bun output:

arrow=10
function=undefined_this
self=10
bound=10
mapped=11,12
deep_arrow=10
static_arrow=ctor
after_mutation arrow=20 local=10
bump=21,22 field=22
instance_bound b=22 b2=100
field_arrow_detached=5
field_arrow_live=6
inherit_arrow=Derived

Node output:

arrow=10
function=undefined_this
self=10
bound=10
mapped=11,12
deep_arrow=10
static_arrow=ctor
after_mutation arrow=20 local=10
bump=21,22 field=22
instance_bound b=22 b2=100
field_arrow_detached=5
field_arrow_live=6
inherit_arrow=Derived

RTS output:

__RUNTIME_ERROR__
claude-detached-method-this — rts_diverge

Bun output:

attached=7
attached_safe=has-this:7
detached_throws=true
detached_safe=no-this
call=7
apply=7
bind=7
bind_twice=7
borrow_obj=42
borrow_other=5
arrow_detached=arrow:7
arrow_call_other=arrow:7
cb_method_throws=true
cb_arrow=arrow:7
cb_bound=7
cb_wrapped=7
elem_detached_throws=true
elem_bound=22
destructured_throws=true

Node output:

attached=7
attached_safe=has-this:7
detached_throws=true
detached_safe=no-this
call=7
apply=7
bind=7
bind_twice=7
borrow_obj=42
borrow_other=5
arrow_detached=arrow:7
arrow_call_other=arrow:7
cb_method_throws=true
cb_arrow=arrow:7
cb_bound=7
cb_wrapped=7
elem_detached_throws=true
elem_bound=22
destructured_throws=true

RTS output:

attached=7
attached_safe=has-this:7
detached=no-throw
detached_safe=no-this
call=7
apply=7
bind=7
bind_twice=7
borrow_obj=42
borrow_other=5
arrow_detached=arrow:7
arrow_call_other=arrow:7
cb_method=0
cb_arrow=arrow:7
cb_bound=7
cb_wrapped=7
elem_detached=no-throw
elem_bound=22
destructured=no-throw
claude-field-init-order — rts_error

Bun output:

order=a|b|c|ctor
a=1
b=2
c=3
d=a=1,b=2,c=3
e=13
keys=a,b,c,d,e
sparse_keys=x,y,z
sparse_y=undefined
sparse_has_y=true
o1=1 o2=2
shared=false
collide=field/proto

Node output:

order=a|b|c|ctor
a=1
b=2
c=3
d=a=1,b=2,c=3
e=13
keys=a,b,c,d,e
sparse_keys=x,y,z
sparse_y=undefined
sparse_has_y=true
o1=1 o2=2
shared=false
collide=field/proto

RTS output:

__RUNTIME_ERROR__
claude-instanceof-inheritance-chain — rts_error

Bun output:

a_A=true
a_B=false
a_C=false
b_A=true
b_B=true
b_C=false
c_A=true
c_B=true
c_C=true
o_A=false
o_Other=true
c_Object=true
c_Function=false
ctor_Function=true
num_A=false
str_Object=false
null_Object=false
c_ctor_name=C
b_ctor_name=B
c_ctor_is_C=true
proto_B_of_C=true
isProto_A_c=true
isProto_C_b=false
static_inherit=true
sweep=A,B,C,?
count_A=3
e_SubErr=true
e_MyErr=true
e_Error=true
e_msg=boom

Node output:

a_A=true
a_B=false
a_C=false
b_A=true
b_B=true
b_C=false
c_A=true
c_B=true
c_C=true
o_A=false
o_Other=true
c_Object=true
c_Function=false
ctor_Function=true
num_A=false
str_Object=false
null_Object=false
c_ctor_name=C
b_ctor_name=B
c_ctor_is_C=true
proto_B_of_C=true
isProto_A_c=true
isProto_C_b=false
static_inherit=true
sweep=A,B,C,?
count_A=3
e_SubErr=true
e_MyErr=true
e_Error=true
e_msg=boom

RTS output:

__RUNTIME_ERROR__
claude-static-inheritance-and-super — rts_error

Bun output:

shape_kind=shape
circle_kind=circle
small_kind=small-circle
shape_describe=kind=shape
circle_describe=circle<kind=circle>
small_describe=small<circle<kind=small-circle>>
circle_make=circle:3
small_make=small-circle:4
shape_count0=0
circle_count0=0
circle_bump=1
circle_count1=1
shape_count1=0
circle_own=true
shape_bump=1
shape_count2=1
circle_count2=1
borrowed_describe=kind=circle

Node output:

shape_kind=shape
circle_kind=circle
small_kind=small-circle
shape_describe=kind=shape
circle_describe=circle<kind=circle>
small_describe=small<circle<kind=small-circle>>
circle_make=circle:3
small_make=small-circle:4
shape_count0=0
circle_count0=0
circle_bump=1
circle_count1=1
shape_count1=0
circle_own=true
shape_bump=1
shape_count2=1
circle_count2=1
borrowed_describe=kind=circle

RTS output:

__RUNTIME_ERROR__
claude-super-chain-three-levels — rts_diverge

Bun output:

ctor_trace=L3-ctor-before|L2-ctor-before|L1-ctor:x-3-2|L2-ctor-after:x-3-2|L3-ctor-after:x-3-2
describe=L3{L2[L1(x-3-2)]}
describe_trace=L3-describe|L2-describe|L1-describe
tag=l1>l2>l3
name=x-3-2
mid_describe=L2[L1(y-2)]
mid_trace=L2-describe|L1-describe
mid_tag=l1>l2
borrowed=L2[L1(x-3-2)]
borrowed_trace=L2-describe|L1-describe
direct_l1=L1(x-3-2)

Node output:

ctor_trace=L3-ctor-before|L2-ctor-before|L1-ctor:x-3-2|L2-ctor-after:x-3-2|L3-ctor-after:x-3-2
describe=L3{L2[L1(x-3-2)]}
describe_trace=L3-describe|L2-describe|L1-describe
tag=l1>l2>l3
name=x-3-2
mid_describe=L2[L1(y-2)]
mid_trace=L2-describe|L1-describe
mid_tag=l1>l2
borrowed=L2[L1(x-3-2)]
borrowed_trace=L2-describe|L1-describe
direct_l1=L1(x-3-2)

RTS output:

ctor_trace=L3-ctor-before|L2-ctor-before|L1-ctor:x-3-2|L2-ctor-after:x-3-2|L3-ctor-after:x-3-2
describe=L3{L2[L1(x-3-2)]}
describe_trace=L3-ctor-before|L2-ctor-before|L1-ctor:x-3-2|L2-ctor-after:x-3-2|L3-ctor-after:x-3-2|L3-describe|L2-describe|L1-describe
tag=l1>l2>l3
name=x-3-2
mid_describe=L2[L1(y-2)]
mid_trace=L3-ctor-before|L2-ctor-before|L1-ctor:x-3-2|L2-ctor-after:x-3-2|L3-ctor-after:x-3-2|L3-describe|L2-describe|L1-describe|L2-ctor-before|L1-ctor:y-2|L2-ctor-after:y-2|L2-describe|L1-describe
mid_tag=l1>l2
borrowed=L2[L1(x-3-2)]
borrowed_trace=L3-ctor-before|L2-ctor-before|L1-ctor:x-3-2|L2-ctor-after:x-3-2|L3-ctor-after:x-3-2|L3-describe|L2-describe|L1-describe|L2-ctor-before|L1-ctor:y-2|L2-ctor-after:y-2|L2-describe|L1-describe|L2-describe|L1-describe
direct_l1=L3{L2[L1(x-3-2)]}
claude-tostring-valueof-coercion — rts_diverge

Bun output:

unary_plus=5
mul=10
sub=4
cmp=true
number=5
template=$5
string=$5
concat_str=v:$5
plus_str=5
plus_num=6
tag_str=42
tag_num=42
tag_plus=421
bad_num=NaN
bad_plus=abc1
raw_num=9
raw_str=[object Object]
raw_template=[object Object]
cents_str=$3c
cents_num=3
cents_plus=4
join=$1|$2
sorted=$1,$2,$3

Node output:

unary_plus=5
mul=10
sub=4
cmp=true
number=5
template=$5
string=$5
concat_str=v:$5
plus_str=5
plus_num=6
tag_str=42
tag_num=42
tag_plus=421
bad_num=NaN
bad_plus=abc1
raw_num=9
raw_str=[object Object]
raw_template=[object Object]
cents_str=$3c
cents_num=3
cents_plus=4
join=$1|$2
sorted=$1,$2,$3

RTS output:

unary_plus=5
mul=10
sub=4
cmp=true
number=undefined
template=$5
string=$5
concat_str=v:$5
plus_str=5
plus_num=6
tag_str=42
tag_num=42
tag_plus=421
bad_num=NaN
bad_plus=abc1
raw_num=9
raw_str=[object Object]
raw_template=[object Object]
cents_str=$3c
cents_num=3
cents_plus=4
join=$1|$2
sorted=$1,$2,$3
codex_class_computed_private_static_order — rts_error

Bun output:

5
4:6
key:a|key:m|key:b|static-a|private-static|static-b

Node output:

5
4:6
key:a|key:m|key:b|static-a|private-static|static-b

RTS output:

__RUNTIME_ERROR__
codex_class_static_block_throw_order — rts_error

Bun output:

boom
a,block

Node output:

boom
a,block

RTS output:

__RUNTIME_ERROR__
codex_class_super_field_order — rts_diverge

Bun output:

derived:derived-y
before-super|base-field|base-ctor:base|derived-field|derived-y:derived|after-super:derived:derived-y

Node output:

derived:derived-y
before-super|base-field|base-ctor:base|derived-field|derived-y:derived|after-super:derived:derived-y

RTS output:

base:derived-y
derived-field|derived-y:derived|before-super|base-field|base-ctor:base|after-super:base:derived-y
codex_instanceof_custom_hasinstance — rts_diverge

Bun output:

true
false
false

Node output:

true
false
false

RTS output:

false
false
false
codex_reflect_construct_newtarget_subclass — rts_diverge

Bun output:

7
false
true
true

Node output:

7
false
true
true

RTS output:

7
true
false
false
claude-map-constructor-from-iterables — rts_diverge

Bun output:

pairs=a:1|b:2
dup_size=2
dup_keys=a,b
dup_get_a=3
copy=x:10|y:20
copy_is_distinct=false
src_unaffected=2:3
copy_x_stable=10
from_entries=p,q
empty_arr=0
no_arg=0
null_arg=0
undef_arg=0
extra_ignored=v:1
missing_val=true:undefined
from_set=s,t
from_gen=g1:1|g2:2
from_obj_entries=o1:1|o2:2
mixed_size=5
mixed_1=num:str
mixed_bool=bool
mixed_obj=obj
mixed_null=null
set_arr=3,1,2
set_str=h,e,l,o
set_from_set=1,2
set_from_map_keys=a,b
set_empty=0:0:0
set_from_gen=1,2

Node output:

pairs=a:1|b:2
dup_size=2
dup_keys=a,b
dup_get_a=3
copy=x:10|y:20
copy_is_distinct=false
src_unaffected=2:3
copy_x_stable=10
from_entries=p,q
empty_arr=0
no_arg=0
null_arg=0
undef_arg=0
extra_ignored=v:1
missing_val=true:undefined
from_set=s,t
from_gen=g1:1|g2:2
from_obj_entries=o1:1|o2:2
mixed_size=5
mixed_1=num:str
mixed_bool=bool
mixed_obj=obj
mixed_null=null
set_arr=3,1,2
set_str=h,e,l,o
set_from_set=1,2
set_from_map_keys=a,b
set_empty=0:0:0
set_from_gen=1,2

RTS output:

pairs=a:1|b:2
dup_size=2
dup_keys=a,b
dup_get_a=3
copy=undefined:undefined|x:y|10:20
copy_is_distinct=false
src_unaffected=2:4
copy_x_stable=y
from_entries=p,q
empty_arr=0
no_arg=0
null_arg=0
undef_arg=0
extra_ignored=v:1
missing_val=true:undefined
from_set=,s,1
from_gen=g1:1|g2:2
from_obj_entries=o1:1|o2:2
mixed_size=5
mixed_1=num:str
mixed_bool=bool
mixed_obj=obj
mixed_null=null
set_arr=3,1,2
set_str=
set_from_set=
set_from_map_keys=a,b
set_empty=0:0:0
set_from_gen=1,2
claude-map-foreach-callback-contract — rts_error

Bun output:

triple=a=1:same_map=true:args=3|b=2:same_map=true:args=3
arg_order=first=v,second=k
returns=undefined
thisArg=CTX:x1|CTX:y2
arrow_ignores_thisArg=OUTER
empty_calls=0
count=3:seq=a,b,c
added_during=a,b
deleted_during=a,c
live_values=a=1,b=99
readd_during=a,b,a
throws=stop
set_triple=p:true:same_set=true:args=3|q:true:same_set=true:args=3
set_thisArg=6
set_returns=undefined

Node output:

triple=a=1:same_map=true:args=3|b=2:same_map=true:args=3
arg_order=first=v,second=k
returns=undefined
thisArg=CTX:x1|CTX:y2
arrow_ignores_thisArg=OUTER
empty_calls=0
count=3:seq=a,b,c
added_during=a,b
deleted_during=a,c
live_values=a=1,b=99
readd_during=a,b,a
throws=stop
set_triple=p:true:same_set=true:args=3|q:true:same_set=true:args=3
set_thisArg=6
set_returns=undefined

RTS output:

__RUNTIME_ERROR__
claude-map-groupby-key-coercion — rts_diverge

Bun output:

obj_keys=odd,even
obj_even=2,4
obj_odd=1,3,5
obj_num_keys=0,1
obj_key_types=string,string
obj_get_0=2,4:2,4
obj_proto_null=true
obj_no_tostring=undefined
map_keys=1,0
map_key_types=number,number
map_get_num=2,4
map_get_str_miss=undefined
map_obj_size=2
map_obj_A=4,5
map_obj_B=1,2,3
map_obj_key_names=B,A
map_obj_fresh_key_miss=undefined
svz_size=2
svz_zero=1,2
svz_key_1_div=Infinity
svz_nan=3
obj_coerced_keys=0|NaN|undefined|null
cb_args=a@0,b@1
obj_cb_args=a@0,b@1
order=3,1,2
groups=3+3|1+1|2
bool_keys=false,true:types=boolean,boolean
bool_true=3,4,5
empty_map=0
empty_obj=0
from_set=1,0:odd=1,3
values_are_arrays=true

Node output:

obj_keys=odd,even
obj_even=2,4
obj_odd=1,3,5
obj_num_keys=0,1
obj_key_types=string,string
obj_get_0=2,4:2,4
obj_proto_null=true
obj_no_tostring=undefined
map_keys=1,0
map_key_types=number,number
map_get_num=2,4
map_get_str_miss=undefined
map_obj_size=2
map_obj_A=4,5
map_obj_B=1,2,3
map_obj_key_names=B,A
map_obj_fresh_key_miss=undefined
svz_size=2
svz_zero=1,2
svz_key_1_div=Infinity
svz_nan=3
obj_coerced_keys=0|NaN|undefined|null
cb_args=a@0,b@1
obj_cb_args=a@0,b@1
order=3,1,2
groups=3+3|1+1|2
bool_keys=false,true:types=boolean,boolean
bool_true=3,4,5
empty_map=0
empty_obj=0
from_set=1,0:odd=1,3
values_are_arrays=true

RTS output:

obj_keys=odd,even
obj_even=2,4
obj_odd=1,3,5
obj_num_keys=0,1
obj_key_types=string,string
obj_get_0=2,4:2,4
obj_proto_null=false
obj_no_tostring=undefined
map_keys=1,0
map_key_types=number,number
map_get_num=2,4
map_get_str_miss=undefined
map_obj_size=2
map_obj_A=4,5
map_obj_B=1,2,3
map_obj_key_names=B,A
map_obj_fresh_key_miss=undefined
svz_size=2
svz_zero=1,2
svz_key_1_div=-Infinity
svz_nan=3
obj_coerced_keys=0|NaN|undefined|null
cb_args=a@0,b@1
obj_cb_args=a@0,b@1
order=3,1,2
groups=3+3|1+1|2
bool_keys=false,true:types=boolean,boolean
bool_true=3,4,5
empty_map=0
empty_obj=0
from_set=0,NaN:odd=undefined
values_are_arrays=false
claude-map-key-samevaluezero-normalization — rts_diverge

Bun output:

key_is_zero=true
key_is_negzero=false
key_1_div=Infinity
m2_size=1
m2_get_negzero=second
m2_get_zero=second
m3_size=1
m3_key_1_div=Infinity
m3_get=second
m4_computed_1_div=Infinity
m4_has_zero=true
s1_1_div=Infinity
s1_has_zero=true
s1_size_after_add_zero=1
s2_size=1
s2_1_div=Infinity
m5_size=1
m5_get_nan=e
m5_key_is_nan=true
nan_eq_self=false
m5_has_nan=true
m5_has_computed_nan=true
s3_size=1
s3_has=true
s3_delete=true:0
m6_foreach=Infinity=z|NaN=n
m6_delete_negzero=true:1
m6_delete_nan=true:0

Node output:

key_is_zero=true
key_is_negzero=false
key_1_div=Infinity
m2_size=1
m2_get_negzero=second
m2_get_zero=second
m3_size=1
m3_key_1_div=Infinity
m3_get=second
m4_computed_1_div=Infinity
m4_has_zero=true
s1_1_div=Infinity
s1_has_zero=true
s1_size_after_add_zero=1
s2_size=1
s2_1_div=Infinity
m5_size=1
m5_get_nan=e
m5_key_is_nan=true
nan_eq_self=false
m5_has_nan=true
m5_has_computed_nan=true
s3_size=1
s3_has=true
s3_delete=true:0
m6_foreach=Infinity=z|NaN=n
m6_delete_negzero=true:1
m6_delete_nan=true:0

RTS output:

key_is_zero=false
key_is_negzero=true
key_1_div=-Infinity
m2_size=1
m2_get_negzero=second
m2_get_zero=second
m3_size=1
m3_key_1_div=Infinity
m3_get=second
m4_computed_1_div=-Infinity
m4_has_zero=true
s1_1_div=-Infinity
s1_has_zero=true
s1_size_after_add_zero=1
s2_size=1
s2_1_div=Infinity
m5_size=1
m5_get_nan=e
m5_key_is_nan=true
nan_eq_self=false
m5_has_nan=true
m5_has_computed_nan=true
s3_size=1
s3_has=true
s3_delete=true:0
m6_foreach=-Infinity=z|NaN=n
m6_delete_negzero=true:1
m6_delete_nan=true:0
claude-map-set-iterators-independent — rts_error

Bun output:

it1_first=a
it2_first=a
it1_second=b
it2_still_second=b
distinct_objects=false
k_v_distinct=false
k_first=a
v_first=1
e_first=a:1
r1=x:false
r2=undefined:true
r3_still_done=undefined:true
it4_done=true
it4_after_growth=undefined:true
it5_a=a
it5_sees_b=b
it5_done=true
it6_a=a
it6_skips_b=c
iterator_self=true
spread_iterator=a,b,c
rest_spread=b,c
map_iter_is_entries=true
default_iter_pair=a:1
fresh1=a,b,c
fresh2=a,b,c
pairs_not_shared=false
pairs_equal=true
set_keys_is_values=true
set_iter_is_values=true
set_entry=10:10:true
set_indep=10:10:20

Node output:

it1_first=a
it2_first=a
it1_second=b
it2_still_second=b
distinct_objects=false
k_v_distinct=false
k_first=a
v_first=1
e_first=a:1
r1=x:false
r2=undefined:true
r3_still_done=undefined:true
it4_done=true
it4_after_growth=undefined:true
it5_a=a
it5_sees_b=b
it5_done=true
it6_a=a
it6_skips_b=c
iterator_self=true
spread_iterator=a,b,c
rest_spread=b,c
map_iter_is_entries=true
default_iter_pair=a:1
fresh1=a,b,c
fresh2=a,b,c
pairs_not_shared=false
pairs_equal=true
set_keys_is_values=true
set_iter_is_values=true
set_entry=10:10:true
set_indep=10:10:20

RTS output:

__RUNTIME_ERROR__
claude-set-add-map-set-chaining — rts_diverge

Bun output:

add_returns_self=true
add_returns_set=true
chain=1,2,3
chain_size=3
chain_dup=1,2:size=2
inline=a,b
chain_size_inline=2
set_returns_self=true
set_returns_map=true
map_chain=a:1|b:2|c:3
chain_overwrite=a,b:a=99
chain_get=5
set_delete_hit=true
set_delete_miss=false
map_delete_hit=true
map_delete_miss=false
set_clear=undefined:size=0
map_clear=undefined:size=0
set_has=true:false
map_has=true:false
mixed_chain_size=6
mixed_has=truetruetruetruetruetrue
feed_keys=x,y
nested=1,2,3

Node output:

add_returns_self=true
add_returns_set=true
chain=1,2,3
chain_size=3
chain_dup=1,2:size=2
inline=a,b
chain_size_inline=2
set_returns_self=true
set_returns_map=true
map_chain=a:1|b:2|c:3
chain_overwrite=a,b:a=99
chain_get=5
set_delete_hit=true
set_delete_miss=false
map_delete_hit=true
map_delete_miss=false
set_clear=undefined:size=0
map_clear=undefined:size=0
set_has=true:false
map_has=true:false
mixed_chain_size=6
mixed_has=truetruetruetruetruetrue
feed_keys=x,y
nested=1,2,3

RTS output:

add_returns_self=true
add_returns_set=true
chain=1,2,3
chain_size=3
chain_dup=1,2:size=2
inline=a,b
chain_size_inline=2
set_returns_self=true
set_returns_map=true
map_chain=a:1|b:2|c:3
chain_overwrite=a,b:a=99
chain_get=5
set_delete_hit=true
set_delete_miss=false
map_delete_hit=true
map_delete_miss=false
set_clear=undefined:size=0
map_clear=undefined:size=0
set_has=true:false
map_has=true:false
mixed_chain_size=6
mixed_has=truetruetruetruetruetrue
feed_keys=x,y
nested=1073741838,1,2,3
claude-set-operations-argument-handling — rts_diverge

Bun output:

union=1,2,3,4,5,6
union_reverse=3,4,5,6,1,2
union_is_new=false:false
union_is_set=true
union_sources_intact=4:4
inter=3,4
inter_reverse=3,4
inter_empty=:size=0
diff=1,2
diff_reverse=5,6
diff_all=0
symdiff=1,2,5,6
symdiff_reverse=5,6,1,2
symdiff_self=0
subset_true=true
subset_false=false
subset_self=true
subset_empty=true
superset_true=true
superset_false=false
superset_empty=true
disjoint_true=true
disjoint_false=false
disjoint_empty=true
empty_union=3,4,5,6
empty_inter=0
empty_diff=0
empty_symdiff=3,4,5,6
union_with_map=1,2,3,4,9
inter_with_map=3,4
diff_with_map=1,2
subset_with_map=true
disjoint_with_map=true
union_setlike=1,2,3,4
inter_setlike=2,3
subset_setlike=true
array_arg_throws=true
nan_inter=1
zero_inter_1div=Infinity
nan_diff=1
chained=2,3,4,5
chained2=3,4,0
derived_stable=1,2,3:base=1,2,99

Node output:

union=1,2,3,4,5,6
union_reverse=3,4,5,6,1,2
union_is_new=false:false
union_is_set=true
union_sources_intact=4:4
inter=3,4
inter_reverse=3,4
inter_empty=:size=0
diff=1,2
diff_reverse=5,6
diff_all=0
symdiff=1,2,5,6
symdiff_reverse=5,6,1,2
symdiff_self=0
subset_true=true
subset_false=false
subset_self=true
subset_empty=true
superset_true=true
superset_false=false
superset_empty=true
disjoint_true=true
disjoint_false=false
disjoint_empty=true
empty_union=3,4,5,6
empty_inter=0
empty_diff=0
empty_symdiff=3,4,5,6
union_with_map=1,2,3,4,9
inter_with_map=3,4
diff_with_map=1,2
subset_with_map=true
disjoint_with_map=true
union_setlike=1,2,3,4
inter_setlike=2,3
subset_setlike=true
array_arg_throws=true
nan_inter=1
zero_inter_1div=Infinity
nan_diff=1
chained=2,3,4,5
chained2=3,4,0
derived_stable=1,2,3:base=1,2,99

RTS output:

union=1,2,3,4,5,6
union_reverse=3,4,5,6,1,2
union_is_new=false:false
union_is_set=true
union_sources_intact=4:4
inter=3,4
inter_reverse=3,4
inter_empty=:size=0
diff=1,2
diff_reverse=5,6
diff_all=0
symdiff=1,2,5,6
symdiff_reverse=5,6,1,2
symdiff_self=0
subset_true=true
subset_false=false
subset_self=true
subset_empty=true
superset_true=true
superset_false=false
superset_empty=true
disjoint_true=true
disjoint_false=false
disjoint_empty=true
empty_union=3,4,5,6
empty_inter=0
empty_diff=0
empty_symdiff=3,4,5,6
union_with_map=1,2,3,4,x,y,z
inter_with_map=3,4
diff_with_map=1,2
subset_with_map=true
disjoint_with_map=true
union_setlike=1,2,3,4
inter_setlike=2,3
subset_setlike=true
array_arg=no_throw
nan_inter=1
zero_inter_1div=-Infinity
nan_diff=1
chained=2,3,4,5
chained2=3,4,0
derived_stable=1,2,3:base=1,2,99
codex_map_forEach_clear_readd — rts_diverge

Bun output:

a1,d4,e5
d4,e5

Node output:

a1,d4,e5
d4,e5

RTS output:

a1,e5
d4,e5
codex_map_iteration_mutation — rts_diverge

Bun output:

a1,c3,d4,e5
a,c,d,e

Node output:

a1,c3,d4,e5
a,c,d,e

RTS output:

a1,b2,c3
a,c,d,e
codex_set_iteration_mutation — rts_diverge

Bun output:

1,3,4,5
1,3,4,5

Node output:

1,3,4,5
1,3,4,5

RTS output:

1,2,3
1,3,4,5
claude-date-numeric-coercion — rts_error

Bun output:

getTime=1718003289010
valueOf=1718003289010
Number=1718003289010
unary_plus=1718003289010
agree1=true
agree2=true
agree3=true
times_one=1718003289010
minus_zero=1718003289010
div=1718003289.01
math_floor=1718003289
math_trunc=19884
epoch_num=0
epoch_plus=0
before_num=-1
old_num=-2208988800000
old_negative=true
bad_getTime_nan=true
bad_valueOf_nan=true
bad_Number_nan=true
bad_plus_nan=true
bad_arith_nan=true
frac_ms=1
frac_neg_ms=-1
is_integer=true
roundtrip=true
copy_eq=true

Node output:

getTime=1718003289010
valueOf=1718003289010
Number=1718003289010
unary_plus=1718003289010
agree1=true
agree2=true
agree3=true
times_one=1718003289010
minus_zero=1718003289010
div=1718003289.01
math_floor=1718003289
math_trunc=19884
epoch_num=0
epoch_plus=0
before_num=-1
old_num=-2208988800000
old_negative=true
bad_getTime_nan=true
bad_valueOf_nan=true
bad_Number_nan=true
bad_plus_nan=true
bad_arith_nan=true
frac_ms=1
frac_neg_ms=-1
is_integer=true
roundtrip=true
copy_eq=true

RTS output:

__RUNTIME_ERROR__
claude-date-parse-iso-offsets — rts_diverge

Bun output:

date_only=1705276800000
year_month=1704067200000
year_only=1704067200000
date_only_iso=2024-01-15T00:00:00.000Z
z_basic=1705314600000
z_ms=1705314600123
z_no_sec=1705314600000
z_eq_utc=true
plus0_eq_z=true
minus0_eq_z=true
plus1=2024-01-15T09:30:00.000Z
plus0530=2024-01-15T05:00:00.000Z
plus14=2024-01-14T20:30:00.000Z
minus3=2024-01-15T13:30:00.000Z
minus0930=2024-01-15T20:00:00.000Z
offset_delta=3600000
roll_next_day=2024-01-16T01:30:00.000Z
roll_prev_day=2024-01-14T22:30:00.000Z
ms_1digit=2024-01-15T10:30:00.100Z
ms_2digit=2024-01-15T10:30:00.120Z
ms_3digit=2024-01-15T10:30:00.123Z
epoch=0
pre_epoch=-1
leap_day=2020-02-29T12:00:00.000Z
roundtrip=true
garbage_nan=true
empty_nan=true
bad_month_nan=true
bad_day_nan=true
bad_hour_nan=true
nonleap_feb29_nan=false
ctor_eq_parse=true

Node output:

date_only=1705276800000
year_month=1704067200000
year_only=1704067200000
date_only_iso=2024-01-15T00:00:00.000Z
z_basic=1705314600000
z_ms=1705314600123
z_no_sec=1705314600000
z_eq_utc=true
plus0_eq_z=true
minus0_eq_z=true
plus1=2024-01-15T09:30:00.000Z
plus0530=2024-01-15T05:00:00.000Z
plus14=2024-01-14T20:30:00.000Z
minus3=2024-01-15T13:30:00.000Z
minus0930=2024-01-15T20:00:00.000Z
offset_delta=3600000
roll_next_day=2024-01-16T01:30:00.000Z
roll_prev_day=2024-01-14T22:30:00.000Z
ms_1digit=2024-01-15T10:30:00.100Z
ms_2digit=2024-01-15T10:30:00.120Z
ms_3digit=2024-01-15T10:30:00.123Z
epoch=0
pre_epoch=-1
leap_day=2020-02-29T12:00:00.000Z
roundtrip=true
garbage_nan=true
empty_nan=true
bad_month_nan=true
bad_day_nan=true
bad_hour_nan=true
nonleap_feb29_nan=false
ctor_eq_parse=true

RTS output:

date_only=1705276800000
year_month=NaN
year_only=NaN
date_only_iso=2024-01-15T00:00:00.000Z
z_basic=1705314600000
z_ms=1705314600123
z_no_sec=1705276800000
z_eq_utc=true
plus0_eq_z=true
minus0_eq_z=true
plus1=2024-01-15T10:30:00.000Z
plus0530=2024-01-15T10:30:00.000Z
plus14=2024-01-15T10:30:00.000Z
minus3=2024-01-15T10:30:00.000Z
minus0930=2024-01-15T10:30:00.000Z
offset_delta=0
roll_next_day=2024-01-15T23:30:00.000Z
roll_prev_day=2024-01-15T00:30:00.000Z
ms_1digit=2024-01-15T10:30:00.100Z
ms_2digit=2024-01-15T10:30:00.120Z
ms_3digit=2024-01-15T10:30:00.123Z
epoch=0
pre_epoch=-1
leap_day=2020-02-29T12:00:00.000Z
roundtrip=true
garbage_nan=true
empty_nan=true
bad_month_nan=true
bad_day_nan=true
bad_hour_nan=false
nonleap_feb29_nan=false
ctor_eq_parse=true
claude-date-symbol-toprimitive — rts_error

Bun output:

has_toPrimitive=true
is_own_of_proto=true
length=1
name=[Symbol.toPrimitive]
number_hint=1705314645123
number_hint_is_time=true
number_hint_type=number
default_hint_type=string
string_hint_type=string
default_eq_string=true
default_eq_toString=true
bad_hint_threw=true
bad_hint_name=TypeError
undef_hint_threw=true
undef_hint_name=TypeError
plus_is_number=true
Number_is_number=true
concat_is_string=true
concat_eq_toString=true
template_eq_toString=true
String_eq_toString=true
minus_numeric=true
invalid_number_hint_nan=true
invalid_string_hint=Invalid Date

Node output:

has_toPrimitive=true
is_own_of_proto=true
length=1
name=[Symbol.toPrimitive]
number_hint=1705314645123
number_hint_is_time=true
number_hint_type=number
default_hint_type=string
string_hint_type=string
default_eq_string=true
default_eq_toString=true
bad_hint_threw=true
bad_hint_name=TypeError
undef_hint_threw=true
undef_hint_name=TypeError
plus_is_number=true
Number_is_number=true
concat_is_string=true
concat_eq_toString=true
template_eq_toString=true
String_eq_toString=true
minus_numeric=true
invalid_number_hint_nan=true
invalid_string_hint=Invalid Date

RTS output:

__RUNTIME_ERROR__
claude-date-tojson-vs-toisostring — rts_diverge

Bun output:

valid_iso=2024-01-15T10:30:45.123Z
valid_json=2024-01-15T10:30:45.123Z
valid_same=true
stringify="2024-01-15T10:30:45.123Z"
stringify_nested={"at":"2024-01-15T10:30:45.123Z"}
stringify_array=["2024-01-15T10:30:45.123Z","2024-01-15T10:30:45.123Z"]
invalid_json=null
invalid_json_is_null=true
invalid_stringify=null
invalid_nested={"at":null}
invalid_in_array=[null]
iso_threw=true
iso_err_is_range=true
iso_err_name=RangeError
bad_json_null=true
bad_iso_threw=true
bad_iso_name=RangeError
oor_nan=true
oor_json_null=true
max_iso=+275760-09-13T00:00:00.000Z
max_json=+275760-09-13T00:00:00.000Z
min_iso=-271821-04-20T00:00:00.000Z
neg_year_iso=-000001-01-01T00:00:00.000Z
big_year_iso=+012345-01-01T00:00:00.000Z

Node output:

valid_iso=2024-01-15T10:30:45.123Z
valid_json=2024-01-15T10:30:45.123Z
valid_same=true
stringify="2024-01-15T10:30:45.123Z"
stringify_nested={"at":"2024-01-15T10:30:45.123Z"}
stringify_array=["2024-01-15T10:30:45.123Z","2024-01-15T10:30:45.123Z"]
invalid_json=null
invalid_json_is_null=true
invalid_stringify=null
invalid_nested={"at":null}
invalid_in_array=[null]
iso_threw=true
iso_err_is_range=true
iso_err_name=RangeError
bad_json_null=true
bad_iso_threw=true
bad_iso_name=RangeError
oor_nan=true
oor_json_null=true
max_iso=+275760-09-13T00:00:00.000Z
max_json=+275760-09-13T00:00:00.000Z
min_iso=-271821-04-20T00:00:00.000Z
neg_year_iso=-000001-01-01T00:00:00.000Z
big_year_iso=+012345-01-01T00:00:00.000Z

RTS output:

valid_iso=2024-01-15T10:30:45.123Z
valid_json=2024-01-15T10:30:45.123Z
valid_same=true
stringify="2024-01-15T10:30:45.123Z"
stringify_nested={"at":"2024-01-15T10:30:45.123Z"}
stringify_array=["2024-01-15T10:30:45.123Z","2024-01-15T10:30:45.123Z"]
invalid_json=-292275055-05-16T16:47:04.192Z
invalid_json_is_null=false
invalid_stringify="-292275055-05-16T16:47:04.192Z"
invalid_nested={"at":"-292275055-05-16T16:47:04.192Z"}
invalid_in_array=["-292275055-05-16T16:47:04.192Z"]
iso_threw=false
bad_json_null=false
bad_iso_threw=false
oor_nan=true
oor_json_null=false
max_iso=275760-09-13T00:00:00.000Z
max_json=275760-09-13T00:00:00.000Z
min_iso=-271821-04-20T00:00:00.000Z
neg_year_iso=-001-01-01T00:00:00.000Z
big_year_iso=12345-01-01T00:00:00.000Z
claude-date-utc-arity — rts_error

Bun output:

y_only=1704067200000
y_m=1704067200000
y_m_d=1704067200000
full=1704067200000
all_eq=true
a2=1717200000000
a3=1717977600000
a4=1718002800000
a5=1718003280000
a6=1718003289000
a7=1718003289010
zero_args_nan=true
extra_ignored=true
y0=1900-01-01T00:00:00.000Z
y70=1970-01-01T00:00:00.000Z
y99=1999-12-31T00:00:00.000Z
y99_is_1999=true
y100=0100-01-01T00:00:00.000Z
y100_year=100
y95_5=1995
neg_year=-1
nan_month=true
nan_day=true
nan_ms=true
frac_trunc=true

Node output:

y_only=1704067200000
y_m=1704067200000
y_m_d=1704067200000
full=1704067200000
all_eq=true
a2=1717200000000
a3=1717977600000
a4=1718002800000
a5=1718003280000
a6=1718003289000
a7=1718003289010
zero_args_nan=true
extra_ignored=true
y0=1900-01-01T00:00:00.000Z
y70=1970-01-01T00:00:00.000Z
y99=1999-12-31T00:00:00.000Z
y99_is_1999=true
y100=0100-01-01T00:00:00.000Z
y100_year=100
y95_5=1995
neg_year=-1
nan_month=true
nan_day=true
nan_ms=true
frac_trunc=true

RTS output:

__RUNTIME_ERROR__
79_subtle_digest — rts_error

Bun output:

sha256_8=ba7816bf8f01cfea

Node output:

sha256_8=ba7816bf8f01cfea

RTS output:

__RUNTIME_ERROR__
393_promise_microtask — rts_diverge

Bun output:

caught:handled
A1,B1,A2,B2,A3,B3
micro1,micro2,queueMicrotask,micro3,timeout
1,A,2,B,3,C

Node output:

caught:handled
A1,B1,A2,B2,A3,B3
micro1,micro2,queueMicrotask,micro3,timeout
1,A,2,B,3,C

RTS output:

caught:handled
A1,A2,A3,B1,B2,B3
micro1,micro2,queueMicrotask,micro3,timeout
1,A,2,B,3,C
claude-closure-captures-mutable-param — rts_error

Bun output:

mutate_param=11,12,13
body_mutates=ab:AB
pair_init=1
pair_after_set=20
pair_bump=25 get=25
default=14,28 explicit=6,12
rest_add=3 sum=6
rest_rebind=0 sum=0
destructured=101/2
destructured_bumpB=3 read=101/3
shared_param=24
arg_by_value caller=5 inner=999

Node output:

mutate_param=11,12,13
body_mutates=ab:AB
pair_init=1
pair_after_set=20
pair_bump=25 get=25
default=14,28 explicit=6,12
rest_add=3 sum=6
rest_rebind=0 sum=0
destructured=101/2
destructured_bumpB=3 read=101/3
shared_param=24
arg_by_value caller=5 inner=999

RTS output:

__RUNTIME_ERROR__
claude-closure-for-of-per-iteration — rts_error

Bun output:

const_head=xyz
let_head_mutated=10,20,30
var_head=3,3,3
destructure_head=a1,b2
body_let=p1!,p2!
nested=1a,1b,2a,2b
independent_cells=111,20

Node output:

const_head=xyz
let_head_mutated=10,20,30
var_head=3,3,3
destructure_head=a1,b2
body_let=p1!,p2!
nested=1a,1b,2a,2b
independent_cells=111,20

RTS output:

__RUNTIME_ERROR__
claude-closure-from-try-finally — rts_diverge

Bun output:

mutated_in_finally=finally
returned=1 closure=100
catch_binding=boom/changed
catch_shadow=thrown_e:outer_e
finally_no_return=from_try:b
made_in_finally=in_finally
loop_try=ok0,err1,ok2
partial=a,b,caught,count=2

Node output:

mutated_in_finally=finally
returned=1 closure=100
catch_binding=boom/changed
catch_shadow=thrown_e:outer_e
finally_no_return=from_try:b
made_in_finally=in_finally
loop_try=ok0,err1,ok2
partial=a,b,caught,count=2

RTS output:

mutated_in_finally=try
returned=1 closure=1
catch_binding=boom/changed
catch_shadow=thrown_e:thrown_e
finally_no_return=from_try:b
made_in_finally=in_try
loop_try=ok0,err1,ok2
partial=a,b,caught,count=2
claude-closure-reads-live-not-snapshot — rts_error

Bun output:

before=1
after=2
after2=42
snap=1 live=99
param_mutated_after=15
early=8 late=8
var_hoisted=3:4
via_binding=second via_capture=first
interleaved=012
mutate_content=2
rebind=3

Node output:

before=1
after=2
after2=42
snap=1 live=99
param_mutated_after=15
early=8 late=8
var_hoisted=3:4
via_binding=second via_capture=first
interleaved=012
mutate_content=2
rebind=3

RTS output:

__RUNTIME_ERROR__
claude-compose-reassigned-binding — rts_error

Bun output:

12
11
3
5

Node output:

12
11
3
5

RTS output:

__RUNTIME_ERROR__
claude-let-vs-var-loop-closures — rts_diverge

Bun output:

0
1
2
3
3
3

Node output:

0
1
2
3
3
3

RTS output:

0
1
2
0
1
2
codex_arguments_callee_shape — rts_error

Bun output:

3
function
true

Node output:

3
function
true

RTS output:

__RUNTIME_ERROR__
codex_bound_constructor_new_target — rts_error

Bun output:

2:5:7
true
true

Node output:

2:5:7
true
true

RTS output:

__RUNTIME_ERROR__
codex_closure_eval_mutates_outer — rts_error

Bun output:

3
5
5

Node output:

3
5
5

RTS output:

__RUNTIME_ERROR__
codex_function_constructor_scope — rts_error

Bun output:

missing
5

Node output:

missing
5

RTS output:

__RUNTIME_ERROR__
codex_function_name_inferred_destructure — rts_error

Bun output:

a
b
c
d

Node output:

a
b
c
d

RTS output:

__RUNTIME_ERROR__
308_finalization_registry_shape — rts_error

Bun output:

type=function
reg=function
unreg=function

Node output:

type=function
reg=function
unreg=function

RTS output:

__RUNTIME_ERROR__
379_yield_star — rts_error

Bun output:

0,10,11,12,20,30,31,32,a,b,c
1,2,result:done
1,2,4,5,3,6
1,2,3,4,5
1,2,3,4,5

Node output:

0,10,11,12,20,30,31,32,a,b,c
1,2,result:done
1,2,4,5,3,6
1,2,3,4,5
1,2,3,4,5

RTS output:

__RUNTIME_ERROR__
codex_async_generator_yield_await_finally — rts_diverge

Bun output:

{"value":"a","done":false}
{"value":"fin","done":false}
{"value":"ret","done":true}

Node output:

{"value":"a","done":false}
{"value":"fin","done":false}
{"value":"ret","done":true}

RTS output:

{"done":true}
{"value":"fin","done":false}
{"done":true}
codex_generator_delegation_exception_path — rts_diverge

Bun output:

{"value":"n","done":false}
{"value":"handled","done":false}
{"done":true}
next|throw:E|return

Node output:

{"value":"n","done":false}
{"value":"handled","done":false}
{"done":true}
next|throw:E|return

RTS output:

{"value":1073741897,"done":false}
{"value":{"message":"E","name":"Error","stack":""},"done":true}
{"value":"R","done":true}
codex_yield_star_iterator_return_chain — rts_diverge

Bun output:

{"value":0,"done":false}
{"value":"closed","done":true}
inner-next0|inner-return:bye

Node output:

{"value":0,"done":false}
{"value":"closed","done":true}
inner-next0|inner-return:bye

RTS output:

{"value":0,"done":false}
{"value":"bye","done":true}
inner-next0|inner-next1|inner-next2|inner-next3|outer-after:-1e-323
59_intl_basics — rts_error

Bun output:

money=$1,234.50
date=10/05/2024
cmp=0

Node output:

money=$1,234.50
date=10/05/2024
cmp=0

RTS output:

__RUNTIME_ERROR__
71_intl_segmenter — rts_error

Bun output:

segments=hi:true| :false|there:true

Node output:

segments=hi:true| :false|there:true

RTS output:

__RUNTIME_ERROR__
78_intl_more — rts_error

Bun output:

one=one
two=other
list=a, b, and c
rel=yesterday

Node output:

one=one
two=other
list=a, b, and c
rel=yesterday

RTS output:

__RUNTIME_ERROR__
305_iterator_helpers — rts_error

Bun output:

arr=6,8
red=5

Node output:

arr=6,8
red=5

RTS output:

__RUNTIME_ERROR__
392_async_iterator_advanced — rts_diverge

Bun output:

content-1,content-2,err:page 3 failed
4,16,36,64
1
2
final
true
a,b,c

Node output:

content-1,content-2,err:page 3 failed
4,16,36,64
1
2
final
true
a,b,c

RTS output:

undefined
claude-custom-symbol-iterator-manual-next — rts_error

Bun output:

counter=10,20,30
reiterate=10,20,30
emptyCount=0
trailing=a|len=1
truthyDone=1,2
missingDone=1,2
values=4|nextCalls=5
selfIter=s1,s2

Node output:

counter=10,20,30
reiterate=10,20,30
emptyCount=0
trailing=a|len=1
truthyDone=1,2
missingDone=1,2
values=4|nextCalls=5
selfIter=s1,s2

RTS output:

__RUNTIME_ERROR__
claude-destructuring-lazy-iterator-pull — rts_error

Bun output:

two=1,2
twoLog=next1,next2,return
one=1|log=next1,return
zeroLog=return|len=1
hole=2|log=next1,next2,return
rest=1|2,3|log=next1,next2,next3,next4
over=1,2,undefined
overLog=next1,next2,next3
defaults=DEF,null,5
swap=2,1
nested=1,100|log=outer1,outerReturn

Node output:

two=1,2
twoLog=next1,next2,return
one=1|log=next1,return
zeroLog=return|len=1
hole=2|log=next1,next2,return
rest=1|2,3|log=next1,next2,next3,next4
over=1,2,undefined
overLog=next1,next2,next3
defaults=DEF,null,5
swap=2,1
nested=1,100|log=outer1,outerReturn

RTS output:

__RUNTIME_ERROR__
claude-manual-iterator-past-done — rts_error

Bun output:

a1={"value":1,"done":false}
a2={"value":2,"done":false}
a3={"done":true}
a4={"done":true}
a5={"done":true}
stableDone=true|true
stableValue=true,true
freshResults=true
keys=done,value
emptyFirst={"done":true}
independent=3,1
live=2,3|done=true
shrunk={"done":true}
m1={"value":"m","done":false}
m2={"value":"post","done":true}
m3={"value":"post","done":true}
manualCalls=3
resume=2,3,4
spreadRest=3,4
s1=a
s2=b
s3=undefined|done=true
set1={"value":1,"done":false}
set2={"done":true}
set3={"done":true}

Node output:

a1={"value":1,"done":false}
a2={"value":2,"done":false}
a3={"done":true}
a4={"done":true}
a5={"done":true}
stableDone=true|true
stableValue=true,true
freshResults=true
keys=done,value
emptyFirst={"done":true}
independent=3,1
live=2,3|done=true
shrunk={"done":true}
m1={"value":"m","done":false}
m2={"value":"post","done":true}
m3={"value":"post","done":true}
manualCalls=3
resume=2,3,4
spreadRest=3,4
s1=a
s2=b
s3=undefined|done=true
set1={"value":1,"done":false}
set2={"done":true}
set3={"done":true}

RTS output:

__RUNTIME_ERROR__
claude-map-set-for-of-shape — rts_error

Bun output:

mapPairs=true:2:a=1|true:2:b=2|true:2:c=3
mapDestructured=a=1,b=2,c=3
mapDefaultIsEntries=true
mapKeys=a,b,c
mapValues=1,2,3
mapEntries=a1,b2,c3
overwriteOrder=x,y
readdOrder=q,p
emptyMap=0
setValues=10,20,30
setDefaultIsValues=true
setKeysIsValues=true
setEntries=10:10,20:20,30:30
setDedup=3,1,2|size=3
mi1=["a",1]
mi2=["b",2]
mi3=["c",3]
mi4=undefined|done=true
iterSelfIterable=true
spreadPairsLen=3|first=a=1
fromMatchesSpread=true

Node output:

mapPairs=true:2:a=1|true:2:b=2|true:2:c=3
mapDestructured=a=1,b=2,c=3
mapDefaultIsEntries=true
mapKeys=a,b,c
mapValues=1,2,3
mapEntries=a1,b2,c3
overwriteOrder=x,y
readdOrder=q,p
emptyMap=0
setValues=10,20,30
setDefaultIsValues=true
setKeysIsValues=true
setEntries=10:10,20:20,30:30
setDedup=3,1,2|size=3
mi1=["a",1]
mi2=["b",2]
mi3=["c",3]
mi4=undefined|done=true
iterSelfIterable=true
spreadPairsLen=3|first=a=1
fromMatchesSpread=true

RTS output:

__RUNTIME_ERROR__
claude-spread-custom-iterable — rts_error

Bun output:

arrayLiteral=1,2,3
arrayLiteralCalls=4
middle=0,1,2,9
twoSpreads=x,y,z
callSpread=6
emptySpread=0|calls=1
drainLen=5|nextCalls=6
identity=true,true
orderPreserved=3,1,3,2
holesLen=3
holeVals=undefined,null,0

Node output:

arrayLiteral=1,2,3
arrayLiteralCalls=4
middle=0,1,2,9
twoSpreads=x,y,z
callSpread=6
emptySpread=0|calls=1
drainLen=5|nextCalls=6
identity=true,true
orderPreserved=3,1,3,2
holesLen=3
holeVals=undefined,null,0

RTS output:

__RUNTIME_ERROR__
claude-string-iterator-code-points — rts_error

Bun output:

length=4
fromLen=3
spreadLen=3
forOfUnitLens=1,2,1
indexUnitLen=1
iterCodePoint=128512
codePointAt=128512
charCodeAt=55357
bmpLen=5|bmpPoints=5
manyLen=6|manyPoints=3
roundTrip=true
loneLen=3|lonePoints=3
loneMid=55357
reversedPoints=2
mapFn=97,128512,98
reIterable=true|3
manual1=a|done=false
manual2Points=2|done=false
manual3=b|done=false
manual4=undefined|done=true
emptyIter=0
splitLen=4|iterLen=3

Node output:

length=4
fromLen=3
spreadLen=3
forOfUnitLens=1,2,1
indexUnitLen=1
iterCodePoint=128512
codePointAt=128512
charCodeAt=55357
bmpLen=5|bmpPoints=5
manyLen=6|manyPoints=3
roundTrip=true
loneLen=3|lonePoints=3
loneMid=55357
reversedPoints=2
mapFn=97,128512,98
reIterable=true|3
manual1=a|done=false
manual2Points=2|done=false
manual3=b|done=false
manual4=undefined|done=true
emptyIter=0
splitLen=4|iterLen=3

RTS output:

__RUNTIME_ERROR__
claude-symbol-iterator-inherited-lookup — rts_error

Bun output:

inherited=p1,p2,p3
ownOnChild=false
ownOnParent=true
shadowed=own1,own2
parentUnaffected=p1,p2,p3
threeLevels=p1,p2,p3
classRange=1,2,3,4
onProtoNotInstance=false,true
subclass=5,6,7
override=4,3,2,1
beforeAdd=threwBefore|afterAdd=late
removable=ok->threw
arrOwn=false
arrProto=true
arrChildIter=7,8,9

Node output:

inherited=p1,p2,p3
ownOnChild=false
ownOnParent=true
shadowed=own1,own2
parentUnaffected=p1,p2,p3
threeLevels=p1,p2,p3
classRange=1,2,3,4
onProtoNotInstance=false,true
subclass=5,6,7
override=4,3,2,1
beforeAdd=threwBefore|afterAdd=late
removable=ok->threw
arrOwn=false
arrProto=true
arrChildIter=7,8,9

RTS output:

__RUNTIME_ERROR__
codex_async_iterator_break_close — rts_error

Bun output:

1
next0,next1,return-start,return-end

Node output:

1
next0,next1,return-start,return-end

RTS output:

__RUNTIME_ERROR__
293_json_reviver_this — rts_diverge

Bun output:

obj={"a":2,"b":4}
seen=2

Node output:

obj={"a":2,"b":4}
seen=2

RTS output:

obj=undefined
seen=
claude-parse-number-edges — rts_diverge

Bun output:

zero=0
neg=-5
big=9007199254740991
neg_zero=0
neg_zero_is=true
neg_zero_eq_zero=true
neg_zero_arr_is=true
pos_zero_is=true
exp_lower=1000
exp_upper=1000
exp_plus=1000
exp_minus=0.001
exp_frac=150
exp_zero=5
exp_neg_base=-2500
exp_big=1e+21
exp_overflow=Infinity
exp_underflow=0
frac=0.5
precision_loss=9007199254740992
many_digits=0.1
long_int=1.2345678901234568e+29
point_one=0.1
roundtrip=true
leading_plus=throw
leading_zero=throw
leading_dot=throw
trailing_dot=throw
hex=throw
infinity=throw
nan=throw
underscore=throw
empty_exp=throw
double_neg=throw
neg_dot=throw
whitespace_ok=ok

Node output:

zero=0
neg=-5
big=9007199254740991
neg_zero=0
neg_zero_is=true
neg_zero_eq_zero=true
neg_zero_arr_is=true
pos_zero_is=true
exp_lower=1000
exp_upper=1000
exp_plus=1000
exp_minus=0.001
exp_frac=150
exp_zero=5
exp_neg_base=-2500
exp_big=1e+21
exp_overflow=Infinity
exp_underflow=0
frac=0.5
precision_loss=9007199254740992
many_digits=0.1
long_int=1.2345678901234568e+29
point_one=0.1
roundtrip=true
leading_plus=throw
leading_zero=throw
leading_dot=throw
trailing_dot=throw
hex=throw
infinity=throw
nan=throw
underscore=throw
empty_exp=throw
double_neg=throw
neg_dot=throw
whitespace_ok=ok

RTS output:

zero=0
neg=-5
big=9007199254740991
neg_zero=0
neg_zero_is=true
neg_zero_eq_zero=true
neg_zero_arr_is=true
pos_zero_is=true
exp_lower=1000
exp_upper=1000
exp_plus=1000
exp_minus=0.001
exp_frac=150
exp_zero=5
exp_neg_base=-2500
exp_big=1e+21
exp_overflow=Infinity
exp_underflow=0
frac=0.5
precision_loss=9007199254740992
many_digits=0.1
long_int=1.2345678901234568e+29
point_one=0.1
roundtrip=true
leading_plus=ok
leading_zero=ok
leading_dot=ok
trailing_dot=ok
hex=ok
infinity=ok
nan=ok
underscore=ok
empty_exp=ok
double_neg=ok
neg_dot=ok
whitespace_ok=ok
claude-reviver-returning-undefined — rts_diverge

Bun output:

obj_deleted={"a":1,"c":3}
obj_has_b=false
obj_keys=a,c
obj_all_deleted={}
arr_json=[1,null,3]
arr_len=3
arr_has_1=false
arr_idx1=undefined
arr_keys=0,2
arr_all_json=[null,null]
arr_all_len=2
root_isundef=true
root_str=undefined
implicit_undef={"a":1}
nested={"outer":{"keep":1}}
null_kept={"a":1,"b":null}
null_has_b=true
falsy_kept={"a":0,"b":"","c":false}

Node output:

obj_deleted={"a":1,"c":3}
obj_has_b=false
obj_keys=a,c
obj_all_deleted={}
arr_json=[1,null,3]
arr_len=3
arr_has_1=false
arr_idx1=undefined
arr_keys=0,2
arr_all_json=[null,null]
arr_all_len=2
root_isundef=true
root_str=undefined
implicit_undef={"a":1}
nested={"outer":{"keep":1}}
null_kept={"a":1,"b":null}
null_has_b=true
falsy_kept={"a":0,"b":"","c":false}

RTS output:

obj_deleted={"a":1,"c":3}
obj_has_b=false
obj_keys=a,c
obj_all_deleted={}
arr_json=[1,null,3]
arr_len=3
arr_has_1=true
arr_idx1=undefined
arr_keys=0,1,2
arr_all_json=[null,null]
arr_all_len=2
root_isundef=true
root_str=undefined
implicit_undef={"a":1}
nested={"outer":{"keep":1}}
null_kept={"a":1,"b":null}
null_has_b=true
falsy_kept={"a":0,"b":"","c":false}
claude-stringify-space-arg — rts_diverge

Bun output:

space_0="{\"a\":1,\"b\":{\"c\":2}}"
space_1="{\n \"a\": 1,\n \"b\": {\n  \"c\": 2\n }\n}"
space_2="{\n  \"a\": 1,\n  \"b\": {\n    \"c\": 2\n  }\n}"
space_3="{\n   \"a\": 1,\n   \"b\": {\n      \"c\": 2\n   }\n}"
space_10_eq_11=true
space_10_eq_100=true
space_10_eq_inf=true
space_10_indent="          \"a\": 1,"
neg_is_compact=true
nan_is_compact=true
zero_is_compact=true
null_is_compact=true
undef_is_compact=true
frac_eq_2=true
str_dash="{\n--\"a\": 1,\n--\"b\": {\n----\"c\": 2\n--}\n}"
str_tab="{\n\t\"a\": 1,\n\t\"b\": {\n\t\t\"c\": 2\n\t}\n}"
str_empty_is_compact=true
str_clamp="0123456789\"a\": 1,"
num_wrapper=true
str_wrapper=true
bool_is_compact=true
obj_is_compact=true
arr_space="[\n 1,\n [\n  2\n ]\n]"
empty_obj="{}"
empty_arr="[]"
empty_nested="{\n \"a\": {},\n \"b\": []\n}"
scalar="5"

Node output:

space_0="{\"a\":1,\"b\":{\"c\":2}}"
space_1="{\n \"a\": 1,\n \"b\": {\n  \"c\": 2\n }\n}"
space_2="{\n  \"a\": 1,\n  \"b\": {\n    \"c\": 2\n  }\n}"
space_3="{\n   \"a\": 1,\n   \"b\": {\n      \"c\": 2\n   }\n}"
space_10_eq_11=true
space_10_eq_100=true
space_10_eq_inf=true
space_10_indent="          \"a\": 1,"
neg_is_compact=true
nan_is_compact=true
zero_is_compact=true
null_is_compact=true
undef_is_compact=true
frac_eq_2=true
str_dash="{\n--\"a\": 1,\n--\"b\": {\n----\"c\": 2\n--}\n}"
str_tab="{\n\t\"a\": 1,\n\t\"b\": {\n\t\t\"c\": 2\n\t}\n}"
str_empty_is_compact=true
str_clamp="0123456789\"a\": 1,"
num_wrapper=true
str_wrapper=true
bool_is_compact=true
obj_is_compact=true
arr_space="[\n 1,\n [\n  2\n ]\n]"
empty_obj="{}"
empty_arr="[]"
empty_nested="{\n \"a\": {},\n \"b\": []\n}"
scalar="5"

RTS output:

space_0="{\"a\":1,\"b\":{\"c\":2}}"
space_1="{\n \"a\": 1,\n \"b\": {\n  \"c\": 2\n }\n}"
space_2="{\n  \"a\": 1,\n  \"b\": {\n    \"c\": 2\n  }\n}"
space_3="{\n   \"a\": 1,\n   \"b\": {\n      \"c\": 2\n   }\n}"
space_10_eq_11=true
space_10_eq_100=true
space_10_eq_inf=true
space_10_indent="          \"a\": 1,"
neg_is_compact=true
nan_is_compact=false
zero_is_compact=true
null_is_compact=true
undef_is_compact=true
frac_eq_2=false
str_dash="{\n--\"a\": 1,\n--\"b\": {\n----\"c\": 2\n--}\n}"
str_tab="{\n\t\"a\": 1,\n\t\"b\": {\n\t\t\"c\": 2\n\t}\n}"
str_empty_is_compact=true
str_clamp="0123456789\"a\": 1,"
num_wrapper=false
str_wrapper=false
bool_is_compact=true
obj_is_compact=true
arr_space="[\n 1,\n [\n  2\n ]\n]"
empty_obj="{}"
empty_arr="[]"
empty_nested="{\n \"a\": {},\n \"b\": []\n}"
scalar="5"
claude-stringify-string-escapes — rts_diverge

Bun output:

quote="a\"b"
backslash="a\\b"
newline="a\nb"
cr="a\rb"
tab="a\tb"
backspace="a\bb"
formfeed="a\fb"
nul="a\u0000b"
soh="a\u0001b"
vtab="a\u000bb"
esc="a\u001bb"
us="a\u001fb"
del="a�b"
space="a b"
slash="a/b"
apostrophe="a'b"
accent="café"
cjk="日本"
lone_high="\ud800"
lone_low="\udfff"
lone_mid="a\ud834b"
pair="😀"
pair_len=4
reversed_pair="\ude00\ud83d"
key_escape={"a\nb":1}
key_quote={"a\"b":1}
key_ctrl={"a\u0001b":1}
roundtrip=true
empty=""

Node output:

quote="a\"b"
backslash="a\\b"
newline="a\nb"
cr="a\rb"
tab="a\tb"
backspace="a\bb"
formfeed="a\fb"
nul="a\u0000b"
soh="a\u0001b"
vtab="a\u000bb"
esc="a\u001bb"
us="a\u001fb"
del="a�b"
space="a b"
slash="a/b"
apostrophe="a'b"
accent="café"
cjk="日本"
lone_high="\ud800"
lone_low="\udfff"
lone_mid="a\ud834b"
pair="😀"
pair_len=4
reversed_pair="\ude00\ud83d"
key_escape={"a\nb":1}
key_quote={"a\"b":1}
key_ctrl={"a\u0001b":1}
roundtrip=true
empty=""

RTS output:

quote="a\"b"
backslash="a\\b"
newline="a\nb"
cr="a\rb"
tab="a\tb"
backspace="a�b"
formfeed="ab"
nul="ab"
soh="a�b"
vtab="a�b"
esc="a�b"
us="a�b"
del="a�b"
space="a b"
slash="a/b"
apostrophe="a'b"
accent="café"
cjk="日本"
lone_high="�"
lone_low="�"
lone_mid="a�b"
pair="😀"
pair_len=4
reversed_pair="��"
key_escape={"a\nb":1}
key_quote={"a\"b":1}
key_ctrl={"a�b":1}
roundtrip=true
empty=""
claude-stringify-unserializable — rts_diverge

Bun output:

top_undef=undefined
top_undef_isundef=true
top_fn=undefined
top_fn_isundef=true
top_sym=undefined
top_sym_isundef=true
obj_undef={"a":1,"c":2}
obj_fn={"a":1,"c":2}
obj_sym={"a":1,"c":2}
obj_all_gone={}
arr_undef=[1,null,2]
arr_fn=[1,null,2]
arr_sym=[1,null,2]
arr_all_null=[null,null,null]
arr_hole=[1,null,null,4]
nested={"a":[null,{"c":3}]}
mix={"list":[null]}
tojson_undef_top_isundef=true
tojson_undef_in_obj={"b":1}
tojson_undef_in_arr=[null,1]
replacer_undef={"a":1}

Node output:

top_undef=undefined
top_undef_isundef=true
top_fn=undefined
top_fn_isundef=true
top_sym=undefined
top_sym_isundef=true
obj_undef={"a":1,"c":2}
obj_fn={"a":1,"c":2}
obj_sym={"a":1,"c":2}
obj_all_gone={}
arr_undef=[1,null,2]
arr_fn=[1,null,2]
arr_sym=[1,null,2]
arr_all_null=[null,null,null]
arr_hole=[1,null,null,4]
nested={"a":[null,{"c":3}]}
mix={"list":[null]}
tojson_undef_top_isundef=true
tojson_undef_in_obj={"b":1}
tojson_undef_in_arr=[null,1]
replacer_undef={"a":1}

RTS output:

top_undef=undefined
top_undef_isundef=true
top_fn=undefined
top_fn_isundef=true
top_sym={}
top_sym_isundef=false
obj_undef={"a":1,"c":2}
obj_fn={"a":1,"c":2}
obj_sym={"a":1,"b":{},"c":2}
obj_all_gone={"d":{}}
arr_undef=[1,null,2]
arr_fn=[1,null,2]
arr_sym=[1,{},2]
arr_all_null=[null,null,{}]
arr_hole=[1]
nested={"a":[null,{"c":3}]}
mix={"list":[null]}
tojson_undef_top_isundef=true
tojson_undef_in_obj={"b":1}
tojson_undef_in_arr=[null,1]
replacer_undef={"a":1}
codex_json_bigint_tojson_monkeypatch — rts_error

Bun output:

{"x":"5n","arr":["1n","2n"]}
TypeError

Node output:

{"x":"5n","arr":["1n","2n"]}
TypeError

RTS output:

__RUNTIME_ERROR__
100_dynamic_import — rts_error

Bun output:

named=7
default=default(x)
same=true
count=42

Node output:

named=7
default=default(x)
same=true
count=42

RTS output:

__RUNTIME_ERROR__
344_bundler_helpers — rts_error

Bun output:

99 2
2 3
1,2,3,4
hello from derived
true
awaiter result: 7

Node output:

99 2
2 3
1,2,3,4
hello from derived
true
awaiter result: 7

RTS output:

__RUNTIME_ERROR__
356_obf_dispatcher — rts_error

Bun output:

14
1024
42
7
99
olleh
WORLD
a-b-c

Node output:

14
1024
42
7
99
olleh
WORLD
a-b-c

RTS output:

__RUNTIME_ERROR__
394_structuredclone_complex — rts_diverge

Bun output:

3
99
false
true
2026
2099
true
hello
gi
false
false
true
true
false
true
test
1
true
false

Node output:

3
99
false
true
2026
2099
true
hello
gi
false
false
true
true
false
true
test
1
true
false

RTS output:

3
99
false
true
2026
2099
true
hello
gi
true
false
true
true
false
true
test
1
true
false
codex_structuredclone_transfer_detach — rts_diverge

Bun output:

0
4
1,2,3,4

Node output:

0
4
1,2,3,4

RTS output:

4
4
1,2,3,4
198_number_parseint_parsefloat — rts_error

Bun output:

parseInt_123=123
parseInt_ff_16=255
parseInt_10_2=2
parseFloat_3.14=3.14
parseFloat_1e2=100
same_int=true
same_float=true

Node output:

parseInt_123=123
parseInt_ff_16=255
parseInt_10_2=2
parseFloat_3.14=3.14
parseFloat_1e2=100
same_int=true
same_float=true

RTS output:

__RUNTIME_ERROR__
claude-number-string-whitespace-grammar — rts_diverge

Bun output:

space=1
tab=1
newline=1
cr=1
formfeed=1
vtab=1
mixed=1
only_space=0
only_tab=0
only_newline=0
empty=0
many_spaces=0
nbsp_u00A0=1
ogham_u1680=1
enquad_u2000=1
emquad_u2001=1
thinspace_u2009=1
hairspace_u200A=1
lineSep_u2028=1
paraSep_u2029=1
narrownbsp_u202F=1
mathspace_u205F=1
ideographic_u3000=1
bom_uFEFF=1
only_nbsp=0
only_bom=0
zwsp_u200B=NaN
zwnj_u200C=NaN
zwj_u200D=NaN
nul=NaN
mongolian_u180E=NaN
inner_space=NaN
inner_tab=NaN
space_after_sign=NaN
space_in_exp=NaN
space_before_dot=NaN
space_plus=5
space_minus=-5
tab_minus_float=-3.14
plus_only=NaN
minus_only=NaN
space_plus_space=NaN
space_Infinity=Infinity
space_neg_Infinity=-Infinity
nbsp_Infinity=Infinity
Infinity_lower=NaN
Infinity_trailing_junk=NaN
space_hex=31
tab_bin=5
newline_octal=15
hex_inner_space=NaN
hex_sign=NaN
hex_plus=NaN
space_exp=1000
space_dot5=0.5
space_5dot=5
space_neg_exp=-0.0015
underscore=NaN
space_underscore=NaN
--- parseFloat contrast ---
parseFloat(' 1 ')=1
parseFloat('1 2')=1
parseFloat('\u00A01')=1
parseFloat('\u200B1')=NaN
parseFloat('1_000')=1
parseFloat(' Infinity ')=Infinity
parseFloat(' 0x1F ')=0

Node output:

space=1
tab=1
newline=1
cr=1
formfeed=1
vtab=1
mixed=1
only_space=0
only_tab=0
only_newline=0
empty=0
many_spaces=0
nbsp_u00A0=1
ogham_u1680=1
enquad_u2000=1
emquad_u2001=1
thinspace_u2009=1
hairspace_u200A=1
lineSep_u2028=1
paraSep_u2029=1
narrownbsp_u202F=1
mathspace_u205F=1
ideographic_u3000=1
bom_uFEFF=1
only_nbsp=0
only_bom=0
zwsp_u200B=NaN
zwnj_u200C=NaN
zwj_u200D=NaN
nul=NaN
mongolian_u180E=NaN
inner_space=NaN
inner_tab=NaN
space_after_sign=NaN
space_in_exp=NaN
space_before_dot=NaN
space_plus=5
space_minus=-5
tab_minus_float=-3.14
plus_only=NaN
minus_only=NaN
space_plus_space=NaN
space_Infinity=Infinity
space_neg_Infinity=-Infinity
nbsp_Infinity=Infinity
Infinity_lower=NaN
Infinity_trailing_junk=NaN
space_hex=31
tab_bin=5
newline_octal=15
hex_inner_space=NaN
hex_sign=NaN
hex_plus=NaN
space_exp=1000
space_dot5=0.5
space_5dot=5
space_neg_exp=-0.0015
underscore=NaN
space_underscore=NaN
--- parseFloat contrast ---
parseFloat(' 1 ')=1
parseFloat('1 2')=1
parseFloat('\u00A01')=1
parseFloat('\u200B1')=NaN
parseFloat('1_000')=1
parseFloat(' Infinity ')=Infinity
parseFloat(' 0x1F ')=0

RTS output:

space=1
tab=1
newline=1
cr=1
formfeed=1
vtab=1
mixed=1
only_space=0
only_tab=0
only_newline=0
empty=0
many_spaces=0
nbsp_u00A0=1
ogham_u1680=1
enquad_u2000=1
emquad_u2001=1
thinspace_u2009=1
hairspace_u200A=1
lineSep_u2028=1
paraSep_u2029=1
narrownbsp_u202F=1
mathspace_u205F=1
ideographic_u3000=1
bom_uFEFF=NaN
only_nbsp=0
only_bom=NaN
zwsp_u200B=NaN
zwnj_u200C=NaN
zwj_u200D=NaN
nul=NaN
mongolian_u180E=NaN
inner_space=NaN
inner_tab=NaN
space_after_sign=NaN
space_in_exp=NaN
space_before_dot=NaN
space_plus=5
space_minus=-5
tab_minus_float=-3.14
plus_only=NaN
minus_only=NaN
space_plus_space=NaN
space_Infinity=Infinity
space_neg_Infinity=-Infinity
nbsp_Infinity=Infinity
Infinity_lower=Infinity
Infinity_trailing_junk=NaN
space_hex=31
tab_bin=5
newline_octal=15
hex_inner_space=NaN
hex_sign=NaN
hex_plus=NaN
space_exp=1000
space_dot5=0.5
space_5dot=5
space_neg_exp=-0.0015
underscore=NaN
space_underscore=NaN
--- parseFloat contrast ---
parseFloat(' 1 ')=1
parseFloat('1 2')=1
parseFloat('\u00A01')=1
parseFloat('\u200B1')=NaN
parseFloat('1_000')=1
parseFloat(' Infinity ')=Infinity
parseFloat(' 0x1F ')=0
claude-tofixed-digit-boundaries — rts_diverge

Bun output:

--- digit sweep on 1.23456789 ---
d0=1
d1=1.2
d2=1.23
d3=1.235
d4=1.2346
d5=1.23457
d6=1.234568
d7=1.2345679
d8=1.23456789
d9=1.234567890
d10=1.2345678900
--- digit sweep on 9.99999 ---
d0=10
d1=10.0
d2=10.00
d3=10.000
d4=10.0000
d5=9.99999
d6=9.999990
d7=9.9999900
d8=9.99999000
--- toFixed(0) ---
(1.5).toFixed(0)=2
(0).toFixed(0)=0
(-0).toFixed(0)=0
(0.4).toFixed(0)=0
(-0.4).toFixed(0)=-0
(-0.6).toFixed(0)=-1
(1e20).toFixed(0)=100000000000000000000
--- undefined arg == 0 ---
(3.7).toFixed()=4
(3.7).toFixed(undefined)=4
--- 1e21 boundary ---
(1e20).toFixed(2)=100000000000000000000.00
(1e21).toFixed(2)=1e+21
(1e21).toFixed(0)=1e+21
(1e22).toFixed(2)=1e+22
(9.999e20).toFixed(2)=999900000000000000000.00
(-1e21).toFixed(2)=-1e+21
(1e21-1).toFixed(0)=1e+21
--- tiny values ---
(1e-7).toFixed(2)=0.00
(1e-7).toFixed(10)=0.0000001000
(1e-10).toFixed(5)=0.00000
(-1e-7).toFixed(2)=-0.00
(5e-324).toFixed(2)=0.00
(0.000000499).toFixed(6)=0.000000
--- high digit counts ---
(1).toFixed(20)=1.00000000000000000000
(0.1).toFixed(20)=0.10000000000000000555
(1).toFixed(100)=1.0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
(0.5).toFixed(50)=0.50000000000000000000000000000000000000000000000000
--- argument bounds ---
(1).toFixed(101) threw=true
(1).toFixed(-1) threw=true
--- fractional arg truncates ---
(1.23456).toFixed(2.9)=1.23
(1.23456).toFixed(3.1)=1.235
--- non-finite ---
NaN.toFixed(2)=NaN
Infinity.toFixed(2)=Infinity
(-Infinity).toFixed(0)=-Infinity

Node output:

--- digit sweep on 1.23456789 ---
d0=1
d1=1.2
d2=1.23
d3=1.235
d4=1.2346
d5=1.23457
d6=1.234568
d7=1.2345679
d8=1.23456789
d9=1.234567890
d10=1.2345678900
--- digit sweep on 9.99999 ---
d0=10
d1=10.0
d2=10.00
d3=10.000
d4=10.0000
d5=9.99999
d6=9.999990
d7=9.9999900
d8=9.99999000
--- toFixed(0) ---
(1.5).toFixed(0)=2
(0).toFixed(0)=0
(-0).toFixed(0)=0
(0.4).toFixed(0)=0
(-0.4).toFixed(0)=-0
(-0.6).toFixed(0)=-1
(1e20).toFixed(0)=100000000000000000000
--- undefined arg == 0 ---
(3.7).toFixed()=4
(3.7).toFixed(undefined)=4
--- 1e21 boundary ---
(1e20).toFixed(2)=100000000000000000000.00
(1e21).toFixed(2)=1e+21
(1e21).toFixed(0)=1e+21
(1e22).toFixed(2)=1e+22
(9.999e20).toFixed(2)=999900000000000000000.00
(-1e21).toFixed(2)=-1e+21
(1e21-1).toFixed(0)=1e+21
--- tiny values ---
(1e-7).toFixed(2)=0.00
(1e-7).toFixed(10)=0.0000001000
(1e-10).toFixed(5)=0.00000
(-1e-7).toFixed(2)=-0.00
(5e-324).toFixed(2)=0.00
(0.000000499).toFixed(6)=0.000000
--- high digit counts ---
(1).toFixed(20)=1.00000000000000000000
(0.1).toFixed(20)=0.10000000000000000555
(1).toFixed(100)=1.0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
(0.5).toFixed(50)=0.50000000000000000000000000000000000000000000000000
--- argument bounds ---
(1).toFixed(101) threw=true
(1).toFixed(-1) threw=true
--- fractional arg truncates ---
(1.23456).toFixed(2.9)=1.23
(1.23456).toFixed(3.1)=1.235
--- non-finite ---
NaN.toFixed(2)=NaN
Infinity.toFixed(2)=Infinity
(-Infinity).toFixed(0)=-Infinity

RTS output:

--- digit sweep on 1.23456789 ---
d0=1
d1=1.2
d2=1.23
d3=1.235
d4=1.2346
d5=1.23457
d6=1.234568
d7=1.2345679
d8=1.23456789
d9=1.234567890
d10=1.2345678900
--- digit sweep on 9.99999 ---
d0=10
d1=10.0
d2=10.00
d3=10.000
d4=10.0000
d5=9.99999
d6=9.999990
d7=9.9999900
d8=9.99999000
--- toFixed(0) ---
(1.5).toFixed(0)=2
(0).toFixed(0)=0
(-0).toFixed(0)=0
(0.4).toFixed(0)=0
(-0.4).toFixed(0)=-0
(-0.6).toFixed(0)=-1
(1e20).toFixed(0)=100000000000000000000
--- undefined arg == 0 ---
(3.7).toFixed()=4
(3.7).toFixed(undefined)=4
--- 1e21 boundary ---
(1e20).toFixed(2)=100000000000000000000.00
(1e21).toFixed(2)=1e+21
(1e21).toFixed(0)=1e+21
(1e22).toFixed(2)=1e+22
(9.999e20).toFixed(2)=999900000000000000000.00
(-1e21).toFixed(2)=-1e+21
(1e21-1).toFixed(0)=1e+21
--- tiny values ---
(1e-7).toFixed(2)=0.00
(1e-7).toFixed(10)=0.0000001000
(1e-10).toFixed(5)=0.00000
(-1e-7).toFixed(2)=-0.00
(5e-324).toFixed(2)=0.00
(0.000000499).toFixed(6)=0.000000
--- high digit counts ---
(1).toFixed(20)=1.00000000000000000000
(0.1).toFixed(20)=0.10000000000000000555
(1).toFixed(100)=1.0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
(0.5).toFixed(50)=0.50000000000000000000000000000000000000000000000000
--- argument bounds ---
(1).toFixed(101)=1.0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
(1).toFixed(-1)=1
--- fractional arg truncates ---
(1.23456).toFixed(2.9)=1.23
(1.23456).toFixed(3.1)=1.235
--- non-finite ---
NaN.toFixed(2)=NaN
Infinity.toFixed(2)=Infinity
(-Infinity).toFixed(0)=-Infinity
claude-toprecision-edges — rts_diverge

Bun output:

(0).toPrecision(1)=0
(1).toPrecision(1)=1
(9).toPrecision(1)=9
(9.5).toPrecision(1)=1e+1
(9.99).toPrecision(1)=1e+1
(99).toPrecision(1)=1e+2
(123.456).toPrecision(1)=1e+2
(0.5).toPrecision(1)=0.5
(0.05).toPrecision(1)=0.05
(1234).toPrecision(1)=1e+3
(-9.99).toPrecision(1)=-1e+1
--- flip to exponential (e >= p) ---
(100).toPrecision(1)=1e+2
(100).toPrecision(2)=1.0e+2
(100).toPrecision(3)=100
(100).toPrecision(4)=100.0
(999).toPrecision(2)=1.0e+3
(999).toPrecision(3)=999
(1000).toPrecision(3)=1.00e+3
(1000).toPrecision(4)=1000
(1234.5).toPrecision(2)=1.2e+3
(1234.5).toPrecision(5)=1234.5
(1234.5).toPrecision(6)=1234.50
--- flip to exponential (e < -6) ---
(0.000001).toPrecision(1)=0.000001
(0.0000001).toPrecision(1)=1e-7
(0.000001).toPrecision(3)=0.00000100
(0.0000001).toPrecision(3)=1.00e-7
(0.00000123).toPrecision(2)=0.0000012
(0.0000123).toPrecision(2)=0.000012
--- rounding carry changes exponent ---
(9.99).toPrecision(2)=10
(99.9).toPrecision(2)=1.0e+2
(0.0999).toPrecision(2)=0.10
(9999).toPrecision(3)=1.00e+4
(0.00009999).toPrecision(2)=0.00010
--- undefined precision == toString ---
(123.456).toPrecision()=123.456
(0.1).toPrecision()=0.1
(1e21).toPrecision()=1e+21
(1e-7).toPrecision()=1e-7
(123.456).toPrecision(undefined)=123.456
--- argument bounds ---
(1).toPrecision(21)=1.00000000000000000000
(0.1).toPrecision(21)=0.100000000000000005551
(1).toPrecision(0) threw=true
(1).toPrecision(22)=1.000000000000000000000
(1).toPrecision(-1) threw=true
--- non-finite ignores precision ---
NaN.toPrecision(3)=NaN
Infinity.toPrecision(3)=Infinity
(-Infinity).toPrecision(1)=-Infinity
--- fractional precision truncates ---
(123.456).toPrecision(2.9)=1.2e+2
(123.456).toPrecision(4.1)=123.5

Node output:

(0).toPrecision(1)=0
(1).toPrecision(1)=1
(9).toPrecision(1)=9
(9.5).toPrecision(1)=1e+1
(9.99).toPrecision(1)=1e+1
(99).toPrecision(1)=1e+2
(123.456).toPrecision(1)=1e+2
(0.5).toPrecision(1)=0.5
(0.05).toPrecision(1)=0.05
(1234).toPrecision(1)=1e+3
(-9.99).toPrecision(1)=-1e+1
--- flip to exponential (e >= p) ---
(100).toPrecision(1)=1e+2
(100).toPrecision(2)=1.0e+2
(100).toPrecision(3)=100
(100).toPrecision(4)=100.0
(999).toPrecision(2)=1.0e+3
(999).toPrecision(3)=999
(1000).toPrecision(3)=1.00e+3
(1000).toPrecision(4)=1000
(1234.5).toPrecision(2)=1.2e+3
(1234.5).toPrecision(5)=1234.5
(1234.5).toPrecision(6)=1234.50
--- flip to exponential (e < -6) ---
(0.000001).toPrecision(1)=0.000001
(0.0000001).toPrecision(1)=1e-7
(0.000001).toPrecision(3)=0.00000100
(0.0000001).toPrecision(3)=1.00e-7
(0.00000123).toPrecision(2)=0.0000012
(0.0000123).toPrecision(2)=0.000012
--- rounding carry changes exponent ---
(9.99).toPrecision(2)=10
(99.9).toPrecision(2)=1.0e+2
(0.0999).toPrecision(2)=0.10
(9999).toPrecision(3)=1.00e+4
(0.00009999).toPrecision(2)=0.00010
--- undefined precision == toString ---
(123.456).toPrecision()=123.456
(0.1).toPrecision()=0.1
(1e21).toPrecision()=1e+21
(1e-7).toPrecision()=1e-7
(123.456).toPrecision(undefined)=123.456
--- argument bounds ---
(1).toPrecision(21)=1.00000000000000000000
(0.1).toPrecision(21)=0.100000000000000005551
(1).toPrecision(0) threw=true
(1).toPrecision(22)=1.000000000000000000000
(1).toPrecision(-1) threw=true
--- non-finite ignores precision ---
NaN.toPrecision(3)=NaN
Infinity.toPrecision(3)=Infinity
(-Infinity).toPrecision(1)=-Infinity
--- fractional precision truncates ---
(123.456).toPrecision(2.9)=1.2e+2
(123.456).toPrecision(4.1)=123.5

RTS output:

(0).toPrecision(1)=0
(1).toPrecision(1)=1
(9).toPrecision(1)=9
(9.5).toPrecision(1)=1e+1
(9.99).toPrecision(1)=1e+1
(99).toPrecision(1)=1e+2
(123.456).toPrecision(1)=1e+2
(0.5).toPrecision(1)=0.5
(0.05).toPrecision(1)=0.05
(1234).toPrecision(1)=1e+3
(-9.99).toPrecision(1)=-1e+1
--- flip to exponential (e >= p) ---
(100).toPrecision(1)=1e+2
(100).toPrecision(2)=1.0e+2
(100).toPrecision(3)=100
(100).toPrecision(4)=100.0
(999).toPrecision(2)=1.0e+3
(999).toPrecision(3)=999
(1000).toPrecision(3)=1.00e+3
(1000).toPrecision(4)=1000
(1234.5).toPrecision(2)=1.2e+3
(1234.5).toPrecision(5)=1234.5
(1234.5).toPrecision(6)=1234.50
--- flip to exponential (e < -6) ---
(0.000001).toPrecision(1)=0.000001
(0.0000001).toPrecision(1)=1e-7
(0.000001).toPrecision(3)=0.00000100
(0.0000001).toPrecision(3)=1.00e-7
(0.00000123).toPrecision(2)=0.0000012
(0.0000123).toPrecision(2)=0.000012
--- rounding carry changes exponent ---
(9.99).toPrecision(2)=10
(99.9).toPrecision(2)=1.0e+2
(0.0999).toPrecision(2)=0.100
(9999).toPrecision(3)=1.00e+4
(0.00009999).toPrecision(2)=0.000100
--- undefined precision == toString ---
(123.456).toPrecision()=123.456
(0.1).toPrecision()=0.1
(1e21).toPrecision()=1000000000000000000000
(1e-7).toPrecision()=0.0000001
(123.456).toPrecision(undefined)=123.456
--- argument bounds ---
(1).toPrecision(21)=1.00000000000000000000
(0.1).toPrecision(21)=0.100000000000000005551
(1).toPrecision(0)=1
(1).toPrecision(22)=1.000000000000000000000
(1).toPrecision(-1)=1
--- non-finite ignores precision ---
NaN.toPrecision(3)=NaN
Infinity.toPrecision(3)=inf
(-Infinity).toPrecision(1)=-inf
--- fractional precision truncates ---
(123.456).toPrecision(2.9)=1.2e+2
(123.456).toPrecision(4.1)=123.5
claude-tostring-radix-fractional — rts_diverge

Bun output:

0.5_b2=0.1
0.25_b2=0.01
0.75_b2=0.11
0.125_b2=0.001
0.375_b2=0.011
0.0625_b2=0.0001
2.5_b2=10.1
10.625_b2=1010.101
255.5_b2=11111111.1
1.5_b2=1.1
3.75_b2=11.11
0.5_b8=0.4
0.25_b8=0.2
0.125_b8=0.1
0.0625_b8=0.04
255.5_b8=377.4
10.625_b8=12.5
1.75_b8=1.6
0.5_b16=0.8
0.25_b16=0.4
0.0625_b16=0.1
0.125_b16=0.2
255.5_b16=ff.8
10.625_b16=a.a
4095.9375_b16=fff.f
0.5_b4=0.2
0.75_b4=0.3
0.5_b32=0.g
0.03125_b32=0.1
neg0.5_b2=-0.1
neg0.75_b2=-0.11
neg10.625_b16=-a.a
neg255.5_b8=-377.4
neg2.5_b2=-10.1
1e21_b2=1101100011010111001001101011011100010111011110101000000000000000000000
1e21_b16=3635c9adc5dea00000
2pow53_b2=100000000000000000000000000000000000000000000000000000
2pow53_b16=20000000000000
maxsafe_b36=2gosa7pa2gv
zero_b2=0
negzero_b2=0
zero_b36=0
nan_b2=NaN
nan_b36=NaN
inf_b2=Infinity
neginf_b36=-Infinity
--- radix bounds ---
radix2_ok=101
radix36_ok=z
radix1 threw=true
radix37 threw=true
radix0 threw=true

Node output:

0.5_b2=0.1
0.25_b2=0.01
0.75_b2=0.11
0.125_b2=0.001
0.375_b2=0.011
0.0625_b2=0.0001
2.5_b2=10.1
10.625_b2=1010.101
255.5_b2=11111111.1
1.5_b2=1.1
3.75_b2=11.11
0.5_b8=0.4
0.25_b8=0.2
0.125_b8=0.1
0.0625_b8=0.04
255.5_b8=377.4
10.625_b8=12.5
1.75_b8=1.6
0.5_b16=0.8
0.25_b16=0.4
0.0625_b16=0.1
0.125_b16=0.2
255.5_b16=ff.8
10.625_b16=a.a
4095.9375_b16=fff.f
0.5_b4=0.2
0.75_b4=0.3
0.5_b32=0.g
0.03125_b32=0.1
neg0.5_b2=-0.1
neg0.75_b2=-0.11
neg10.625_b16=-a.a
neg255.5_b8=-377.4
neg2.5_b2=-10.1
1e21_b2=1101100011010111001001101011011100010111011110101000000000000000000000
1e21_b16=3635c9adc5dea00000
2pow53_b2=100000000000000000000000000000000000000000000000000000
2pow53_b16=20000000000000
maxsafe_b36=2gosa7pa2gv
zero_b2=0
negzero_b2=0
zero_b36=0
nan_b2=NaN
nan_b36=NaN
inf_b2=Infinity
neginf_b36=-Infinity
--- radix bounds ---
radix2_ok=101
radix36_ok=z
radix1 threw=true
radix37 threw=true
radix0 threw=true

RTS output:

0.5_b2=0.5
0.25_b2=0.25
0.75_b2=0.75
0.125_b2=0.125
0.375_b2=0.375
0.0625_b2=0.0625
2.5_b2=2.5
10.625_b2=10.625
255.5_b2=255.5
1.5_b2=1.5
3.75_b2=3.75
0.5_b8=0.5
0.25_b8=0.25
0.125_b8=0.125
0.0625_b8=0.0625
255.5_b8=255.5
10.625_b8=10.625
1.75_b8=1.75
0.5_b16=3fe0000000000000
0.25_b16=3fd0000000000000
0.0625_b16=3fb0000000000000
0.125_b16=3fc0000000000000
255.5_b16=406ff00000000000
10.625_b16=4025400000000000
4095.9375_b16=40afffe000000000
0.5_b4=0.5
0.75_b4=0.75
0.5_b32=0.5
0.03125_b32=0.03125
neg0.5_b2=-0.5
neg0.75_b2=-0.75
neg10.625_b16=c025400000000000
neg255.5_b8=-255.5
neg2.5_b2=-2.5
1e21_b2=111111111111111111111111111111111111111111111111111111111111111
1e21_b16=7fffffffffffffff
2pow53_b2=100000000000000000000000000000000000000000000000000000
2pow53_b16=20000000000000
maxsafe_b36=2gosa7pa2gv
zero_b2=0
negzero_b2=0
zero_b36=0
nan_b2=NaN
nan_b36=NaN
inf_b2=Infinity
neginf_b36=-Infinity
--- radix bounds ---
radix2_ok=101
radix36_ok=z
radix1=101
radix37=5
radix0=101
claude-unary-plus-vs-number-vs-parseint — rts_diverge

Bun output:

"42" unary=42 Number=42 parseInt=42
"42abc" unary=NaN Number=NaN parseInt=42
"abc42" unary=NaN Number=NaN parseInt=NaN
"  42  " unary=42 Number=42 parseInt=42
"" unary=0 Number=0 parseInt=NaN
"   " unary=0 Number=0 parseInt=NaN
"3.99" unary=3.99 Number=3.99 parseInt=3
"0x1F" unary=31 Number=31 parseInt=31
"0b101" unary=5 Number=5 parseInt=0
"0o17" unary=15 Number=15 parseInt=0
"1e3" unary=1000 Number=1000 parseInt=1
"1e-3" unary=0.001 Number=0.001 parseInt=1
".5" unary=0.5 Number=0.5 parseInt=NaN
"5." unary=5 Number=5 parseInt=5
"+5" unary=5 Number=5 parseInt=5
"-5" unary=-5 Number=-5 parseInt=-5
"Infinity" unary=Infinity Number=Infinity parseInt=NaN
"-Infinity" unary=-Infinity Number=-Infinity parseInt=NaN
"1_000" unary=NaN Number=NaN parseInt=1
"12px" unary=NaN Number=NaN parseInt=12
"  -7.5e2xyz" unary=NaN Number=NaN parseInt=-7
"0.0000001" unary=1e-7 Number=1e-7 parseInt=0
"  0x10  " unary=16 Number=16 parseInt=16
"null" unary=NaN Number=NaN parseInt=NaN
"true" unary=NaN Number=NaN parseInt=NaN
--- non-strings ---
true unary=1 Number=1 parseInt=NaN
false unary=0 Number=0 parseInt=NaN
null unary=0 Number=0 parseInt=NaN
undefined unary=NaN Number=NaN parseInt=NaN
emptyArr unary=0 Number=0 parseInt=NaN
arr[7] unary=7 Number=7 parseInt=7
arr[1,2] unary=NaN Number=NaN parseInt=1
--- exponent handling ---
1e3 parseInt=1
1e3 parseFloat=1000
1e3 Number=1000
--- ToString-then-parse trap ---
parseInt(1e21)=1
Number(1e21)=1e+21
parseInt(0.0000005)=5
Number(0.0000005)=5e-7
parseInt(1e-7)=1

Node output:

"42" unary=42 Number=42 parseInt=42
"42abc" unary=NaN Number=NaN parseInt=42
"abc42" unary=NaN Number=NaN parseInt=NaN
"  42  " unary=42 Number=42 parseInt=42
"" unary=0 Number=0 parseInt=NaN
"   " unary=0 Number=0 parseInt=NaN
"3.99" unary=3.99 Number=3.99 parseInt=3
"0x1F" unary=31 Number=31 parseInt=31
"0b101" unary=5 Number=5 parseInt=0
"0o17" unary=15 Number=15 parseInt=0
"1e3" unary=1000 Number=1000 parseInt=1
"1e-3" unary=0.001 Number=0.001 parseInt=1
".5" unary=0.5 Number=0.5 parseInt=NaN
"5." unary=5 Number=5 parseInt=5
"+5" unary=5 Number=5 parseInt=5
"-5" unary=-5 Number=-5 parseInt=-5
"Infinity" unary=Infinity Number=Infinity parseInt=NaN
"-Infinity" unary=-Infinity Number=-Infinity parseInt=NaN
"1_000" unary=NaN Number=NaN parseInt=1
"12px" unary=NaN Number=NaN parseInt=12
"  -7.5e2xyz" unary=NaN Number=NaN parseInt=-7
"0.0000001" unary=1e-7 Number=1e-7 parseInt=0
"  0x10  " unary=16 Number=16 parseInt=16
"null" unary=NaN Number=NaN parseInt=NaN
"true" unary=NaN Number=NaN parseInt=NaN
--- non-strings ---
true unary=1 Number=1 parseInt=NaN
false unary=0 Number=0 parseInt=NaN
null unary=0 Number=0 parseInt=NaN
undefined unary=NaN Number=NaN parseInt=NaN
emptyArr unary=0 Number=0 parseInt=NaN
arr[7] unary=7 Number=7 parseInt=7
arr[1,2] unary=NaN Number=NaN parseInt=1
--- exponent handling ---
1e3 parseInt=1
1e3 parseFloat=1000
1e3 Number=1000
--- ToString-then-parse trap ---
parseInt(1e21)=1
Number(1e21)=1e+21
parseInt(0.0000005)=5
Number(0.0000005)=5e-7
parseInt(1e-7)=1

RTS output:

"42" unary=42 Number=42 parseInt=42
"42abc" unary=NaN Number=NaN parseInt=42
"abc42" unary=NaN Number=NaN parseInt=NaN
"  42  " unary=42 Number=42 parseInt=42
"" unary=0 Number=0 parseInt=NaN
"   " unary=0 Number=0 parseInt=NaN
"3.99" unary=3.99 Number=3.99 parseInt=3
"0x1F" unary=31 Number=31 parseInt=31
"0b101" unary=5 Number=5 parseInt=0
"0o17" unary=15 Number=15 parseInt=0
"1e3" unary=1000 Number=1000 parseInt=1
"1e-3" unary=0.001 Number=0.001 parseInt=1
".5" unary=0.5 Number=0.5 parseInt=NaN
"5." unary=5 Number=5 parseInt=5
"+5" unary=5 Number=5 parseInt=5
"-5" unary=-5 Number=-5 parseInt=-5
"Infinity" unary=Infinity Number=Infinity parseInt=NaN
"-Infinity" unary=-Infinity Number=-Infinity parseInt=NaN
"1_000" unary=NaN Number=NaN parseInt=1
"12px" unary=NaN Number=NaN parseInt=12
"  -7.5e2xyz" unary=NaN Number=NaN parseInt=-7
"0.0000001" unary=1e-7 Number=1e-7 parseInt=0
"  0x10  " unary=16 Number=16 parseInt=16
"null" unary=NaN Number=NaN parseInt=NaN
"true" unary=NaN Number=NaN parseInt=NaN
--- non-strings ---
true unary=1 Number=1 parseInt=NaN
false unary=0 Number=0 parseInt=NaN
null unary=0 Number=0 parseInt=NaN
undefined unary=NaN Number=NaN parseInt=NaN
emptyArr unary=0 Number=undefined parseInt=NaN
arr[7] unary=7 Number=undefined parseInt=7
arr[1,2] unary=NaN Number=undefined parseInt=1
--- exponent handling ---
1e3 parseInt=1
1e3 parseFloat=1000
1e3 Number=1000
--- ToString-then-parse trap ---
parseInt(1e21)=1
Number(1e21)=1e+21
parseInt(0.0000005)=5
Number(0.0000005)=5e-7
parseInt(1e-7)=1
codex_numeric_relational_coercion — rts_diverge

Bun output:

true
false
true
false
true
true
true
false

Node output:

true
false
true
false
true
true
true
false

RTS output:

true
false
true
false
true
true
true
true
210_object_tostring — rts_error

Bun output:

obj=[object Object]
arr=[object Array]
num=[object Number]
str=[object String]
bool=[object Boolean]
null=[object Null]
undef=[object Undefined]
func=[object Function]
date=[object Date]
regex=[object RegExp]
map=[object Map]
set=[object Set]

Node output:

obj=[object Object]
arr=[object Array]
num=[object Number]
str=[object String]
bool=[object Boolean]
null=[object Null]
undef=[object Undefined]
func=[object Function]
date=[object Date]
regex=[object RegExp]
map=[object Map]
set=[object Set]

RTS output:

__RUNTIME_ERROR__
336_prototype_chain — rts_diverge

Bun output:

Rex speaks
Rex barks
true
true
true
true
false
true
true

Node output:

Rex speaks
Rex barks
true
true
true
true
false
true
true

RTS output:

Rex speaks
Rex barks
true
true
false
true
false
true
true
354_obf_proxy_trap — rts_diverge

Bun output:

255
test
5
20
add(2,3)|mul(4,5)

Node output:

255
test
5
20
add(2,3)|mul(4,5)

RTS output:

255
test
NaN
NaN
add(undefined)|mul(undefined)
359_obf_getter_smuggle — rts_error

Bun output:

0
abcde
function
function
42
1
undefined
2
function _fn() { [obfuscated] }
42

Node output:

0
abcde
function
function
42
1
undefined
2
function _fn() { [obfuscated] }
42

RTS output:

__RUNTIME_ERROR__
368_iterator_protocol — rts_error

Bun output:

1,2,3,4,5
10,11,12,13
1a
2b
3c
1,2,3,4,5
1,2,3,4
4
first
caught:oops
1
99
true

Node output:

1,2,3,4,5
10,11,12,13
1a
2b
3c
1,2,3,4,5
1,2,3,4
4
first
caught:oops
1
99
true

RTS output:

__RUNTIME_ERROR__
382_field_init_order — rts_error

Bun output:

Base.x,Base.y,Base.constructor,Child.z,Child.constructor,Child.z.reassign
a-field,c-field,constructor-start,b-constructor,constructor-end
S.a,S.b,S.block,S.c
P.pv,C.cv
10 20 10

Node output:

Base.x,Base.y,Base.constructor,Child.z,Child.constructor,Child.z.reassign
a-field,c-field,constructor-start,b-constructor,constructor-end
S.a,S.b,S.block,S.c
P.pv,C.cv
10 20 10

RTS output:

__RUNTIME_ERROR__
387_object_create_descriptors — rts_error

Bun output:

Rex breathes
Rex
Lab
name,breed
true
false
a,b
hello from base1
hello from base2
C->B->A->Object
red shape
79
true
true

Node output:

Rex breathes
Rex
Lab
name,breed
true
false
a,b
hello from base1
hello from base2
C->B->A->Object
red shape
79
true
true

RTS output:

__RUNTIME_ERROR__
388_globalThis — rts_error

Bun output:

object
true
object
object
function
function
function
function
function
object
function
function
function
function
function
function
function
1.0
true
1.0
true
true
true

Node output:

object
true
object
object
function
function
function
function
function
object
function
function
function
function
function
function
function
1.0
true
1.0
true
true
true

RTS output:

__RUNTIME_ERROR__
389_proto_accessor — rts_error

Bun output:

hi from child
true
hello
world
true
2
null
false
null
true
1
2
2
0

Node output:

hi from child
true
hello
world
true
2
null
false
null
true
1
2
2
0

RTS output:

__RUNTIME_ERROR__
408_object_spread_getter_order — rts_diverge

Bun output:

{"z":0,"a":3,"b":5,"c":4}
z,a,b,c
get-a

Node output:

{"z":0,"a":3,"b":5,"c":4}
z,a,b,c
get-a

RTS output:

{"z":0,"b":5,"a":3,"hidden":9,"c":4}
z,b,a,hidden,c
get-a,hidden,get-a,hidden
98_proxy_invariants — rts_diverge

Bun output:

keys=a,c
vals={"a":1,"c":3}
log=ownKeys|desc:a|desc:b|def:c=3|del:b|ownKeys|desc:a|desc:c|ownKeys|desc:a|desc:c

Node output:

keys=a,c
vals={"a":1,"c":3}
log=ownKeys|desc:a|desc:b|def:c=3|del:b|ownKeys|desc:a|desc:c|ownKeys|desc:a|desc:c

RTS output:

keys=a
vals={"a":1}
log=ownKeys|desc:a|desc:b|def:c=undefined|del:b|ownKeys|desc:a|desc:c|ownKeys|desc:a|desc:c
claude-json-tojson-hook — rts_diverge

Bun output:

{"wrapped":42,"tag":"custom"}
{"nested":{"wrapped":42,"tag":"custom"},"plain":1}
[{"wrapped":42,"tag":"custom"},{"wrapped":42,"tag":"custom"}]
{"when":"1970-01-01T00:00:00.000Z"}
7
{"a":"ARR"}

Node output:

{"wrapped":42,"tag":"custom"}
{"nested":{"wrapped":42,"tag":"custom"},"plain":1}
[{"wrapped":42,"tag":"custom"},{"wrapped":42,"tag":"custom"}]
{"when":"1970-01-01T00:00:00.000Z"}
7
{"a":"ARR"}

RTS output:

{"wrapped":42,"tag":"custom"}
{"nested":{"wrapped":42,"tag":"custom"},"plain":1}
[{"wrapped":42,"tag":"custom"},{"wrapped":42,"tag":"custom"}]
{"when":"1970-01-01T00:00:00.000Z"}
{}
7
claude-spread-getter-to-data — rts_diverge

Bun output:

1
2
2
true
1
true true true

Node output:

1
2
2
true
1
true true true

RTS output:

1
2
4
true
1
true true true
claude-spread-override-order — rts_diverge

Bun output:

{"x":1,"y":3,"z":4}
x,y,z
first,p,q,last
p,q
{"a":1}
{"0":"a","1":"b"}

Node output:

{"x":1,"y":3,"z":4}
x,y,z
first,p,q,last
p,q
{"a":1}
{"0":"a","1":"b"}

RTS output:

{"x":1,"y":3,"z":4}
x,y,z
first,p,q,last
p,q,p,q
{"a":1}
{}
codex_freeze_typedarray_error — rts_error

Bun output:

true
TypeError
1

Node output:

true
TypeError
1

RTS output:

__RUNTIME_ERROR__
codex_getownpropertydescriptor_array_length — rts_diverge

Bun output:

3:true:false:false
false
TypeError
1,2,3

Node output:

3:true:false:false
false
TypeError
1,2,3

RTS output:

undefined:undefined:undefined:undefined
undefined
1,2,3
codex_object_define_accessor_delete — rts_diverge

Bun output:

10:10:x
true
9:10:x

Node output:

10:10:x
true
9:10:x

RTS output:

10:10:x
true
18:18:x
codex_ownkeys_order_symbols — rts_diverge

Bun output:

1,2,b,a,c,Symbol(s1),Symbol(s2)
1,2,b,a,c
Symbol(s1),Symbol(s2)

Node output:

1,2,b,a,c,Symbol(s1),Symbol(s2)
1,2,b,a,c
Symbol(s1),Symbol(s2)

RTS output:

1,2,b,a,c
1,2,b,a,c
[object Object],[object Object]
codex_proxy_construct_apply_newtarget — rts_error

Bun output:

13
5:proxy:true:true

Node output:

13
5:proxy:true:true

RTS output:

__RUNTIME_ERROR__
codex_proxy_getprototypeof_invariant — rts_error

Bun output:

TypeError
true

Node output:

TypeError
true

RTS output:

__RUNTIME_ERROR__
codex_proxy_revocable_edges — rts_error

Bun output:

1
get:TypeError
keys:TypeError

Node output:

1
get:TypeError
keys:TypeError

RTS output:

__RUNTIME_ERROR__
codex_reflect_set_prototype_cycle — rts_diverge

Bun output:

true
true
false
false

Node output:

true
true
false
false

RTS output:

true
true
true
true
361_functional_compose — rts_error

Bun output:

val:49
val:49
21
30
7
-7
4,16,36

Node output:

val:49
val:49
21
30
7
-7
4,16,36

RTS output:

__RUNTIME_ERROR__
codex_lru_cache_map_order — rts_error

Bun output:

1
c3,a1,d4
-1

Node output:

1
c3,a1,d4
-1

RTS output:

__RUNTIME_ERROR__
codex_reactive_dependency_tracker — rts_error

Bun output:

sum=3|sum=7|sum=12

Node output:

sum=3|sum=7|sum=12

RTS output:

__RUNTIME_ERROR__
116_promise_finally — rts_diverge

Bun output:

log=then:42,catch:error,finally1,finally2,then2:84

Node output:

log=then:42,catch:error,finally1,finally2,then2:84

RTS output:

log=then:4631107791820423000,catch:error,finally1,finally2,then2:9223372036854776000
167_promise_race_any — rts_diverge

Bun output:

race=1
any=1
race2=4
any2=4

Node output:

race=1
any=1
race2=4
any2=4

RTS output:

race=4607182418800017400
any=4607182418800017400
race2=4616189618054758000
any2=4616189618054758000
304_promise_try — rts_error

Bun output:

ok=5
err=boom

Node output:

ok=5
err=boom

RTS output:

__RUNTIME_ERROR__
365_async_patterns — rts_diverge

Bun output:

6
60
fulfilled:ok|rejected:fail|fulfilled:also ok
caught:bad input
success
3
1,2,3,4,5
fast

Node output:

6
60
fulfilled:ok|rejected:fail|fulfilled:also ok
caught:bad input
success
3
1,2,3,4,5
fast

RTS output:

6
60
fulfilled:ok|rejected:fail|fulfilled:also ok
42_promise_deep — rts_diverge

Bun output:

one=3
two=5
all=a,b
async=9

Node output:

one=3
two=5
all=a,b
async=9

RTS output:

one=3
two=4
all=1.39067116157037e-309,1.390671161570375e-309
async=9
codex_promise_all_order_thenables — rts_error

Bun output:

slow,fast,then
slow-start|thenable|slow-end

Node output:

slow,fast,then
slow-start|thenable|slow-end

RTS output:

__RUNTIME_ERROR__
codex_promise_any_rejection_order — rts_diverge

Bun output:

AggregateError
a,b,c

Node output:

AggregateError
a,b,c

RTS output:

String
codex_promise_finally_thenable — rts_diverge

Bun output:

finally|thenable|value

Node output:

finally|thenable|value

RTS output:

finally|value
171_regexp_lastindex — rts_diverge

Bun output:

lastIndex_init=0
match1=1
lastIndex1=2
match2=2
lastIndex2=4
match3=3
lastIndex3=6
match4=null
lastIndex4=0

Node output:

lastIndex_init=0
match1=1
lastIndex1=2
match2=2
lastIndex2=4
match3=3
lastIndex3=6
match4=null
lastIndex4=0

RTS output:

lastIndex_init=0
match1=1
lastIndex1=0
match2=1
lastIndex2=0
match3=1
lastIndex3=0
match4=[object Object]
lastIndex4=0
366_regex_advanced — rts_diverge

Bun output:

2026
05
22
22/05/2026
$10,$20,$40
foo,food
cat=5
dog=3
bird=8
123
7
hello ? world
a|1|b|2|c|3|
Hello World Foo

Node output:

2026
05
22
22/05/2026
$10,$20,$40
foo,food
cat=5
dog=3
bird=8
123
7
hello ? world
a|1|b|2|c|3|
Hello World Foo

RTS output:

2026
05
22
22/05/2026
$10,$20,$40
foo,food
cat=5
dog=3
bird=8
123
0
hello ? world
a|1|b|2|c|3|
Hello World Foo
39_regex_deep — rts_diverge

Bun output:

test=true
match0=Item-42
match1=42
replace=unit-42 and unit-99
replaceAll=a/b/c
split=x,y,z,
g1=42
last1=7
g2=99
last2=19
flag_m=true
flag_s=true

Node output:

test=true
match0=Item-42
match1=42
replace=unit-42 and unit-99
replaceAll=a/b/c
split=x,y,z,
g1=42
last1=7
g2=99
last2=19
flag_m=true
flag_s=true

RTS output:

test=true
match0=Item-42
match1=42
replace=unit-42 and unit-99
replaceAll=a/b/c
split=x,y,z,
g1=42
last1=0
g2=42
last2=0
flag_m=true
flag_s=true
404_regexp_replace_named_callback — rts_diverge

Bun output:

RED@0=11 BLUE@7=21
[a]ab[a]a

Node output:

RED@0=11 BLUE@7=21
[a]ab[a]a

RTS output:

undefined@red=NaN undefined@blue=NaN
[a]ab[a]a
70_regex_indices — rts_diverge

Bun output:

indices=[[1,4],[2,3],[3,4]]

Node output:

indices=[[1,4],[2,3],[3,4]]

RTS output:

indices={"0":[1,4],"1":[2,3],"2":[3,4],"length":3}
codex_regex_sticky_lastindex_unicode — rts_diverge

Bun output:

true:3
true:5
false:0
abc:5

Node output:

true:3
true:5
false:0
abc:5

RTS output:

true:0
true:0
true:0
abc:0
101_textdecoder_stream — rts_diverge

Bun output:

out=caf|é

Node output:

out=caf|é

RTS output:

out=
64_readable_stream — rts_error

Bun output:

out=a,b

Node output:

out=a,b

RTS output:

__RUNTIME_ERROR__
88_compression_stream — rts_error

Bun output:

gzip=28

Node output:

gzip=28

RTS output:

__RUNTIME_ERROR__
96_streams_transform — rts_diverge

Bun output:

out=AB,CD

Node output:

out=AB,CD

RTS output:

out=
91_string_wellformed — rts_diverge

Bun output:

wf=false
fix=�

Node output:

wf=false
fix=�

RTS output:

wf=true
fix=�
claude-at-negative-index — rts_diverge

Bun output:

h
o
l
o
undefined
h
undefined
undefined
h
a
b
d83d
1
undefined

Node output:

h
o
l
o
undefined
h
undefined
undefined
h
a
b
d83d
1
undefined

RTS output:

h
o
l
o
undefined
h
undefined
undefined
h
a
b
d83d
2
undefined
claude-at-vs-charat-vs-bracket — rts_error

Bun output:

i=0 at=h charAt=[h] bracket=h
i=4 at=o charAt=[o] bracket=o
i=5 at=undefined charAt=[] bracket=undefined
i=99 at=undefined charAt=[] bracket=undefined
i=-1 at=o charAt=[] bracket=undefined
i=-5 at=h charAt=[] bracket=undefined
i=-6 at=undefined charAt=[] bracket=undefined
i=-0 at=h charAt=[h] bracket=h
i=1.5 at=e charAt=[e] bracket=undefined
i=0.9 at=h charAt=[h] bracket=undefined
i=-1.5 at=o charAt=[] bracket=undefined
i=4.99 at=o charAt=[o] bracket=undefined
i=undefined at=h charAt=[h] bracket=undefined
i=null at=h charAt=[h] bracket=undefined
i=NaN at=h charAt=[h] bracket=undefined
i=true at=e charAt=[e] bracket=undefined
i=false at=h charAt=[h] bracket=undefined
i='2' at=l charAt=[l] bracket=l
i='' at=h charAt=[h] bracket=undefined
i=Infinity at=undefined charAt=[] bracket=undefined
i=-Infinity at=undefined charAt=[] bracket=undefined
bracket-'1'=e
bracket-'01'=undefined
bracket-'1.0'=undefined
bracket-' 1'=undefined
bracket-'-0'=undefined
bracket-length=5
charAt-noarg=h
at-noarg=h
0-in=true
5-in=false
empty-at=undefined
empty-charAt=[]
empty-bracket=undefined
emoji-at1=d83d
emoji-charAt1=d83d
emoji-bracket1=d83d

Node output:

i=0 at=h charAt=[h] bracket=h
i=4 at=o charAt=[o] bracket=o
i=5 at=undefined charAt=[] bracket=undefined
i=99 at=undefined charAt=[] bracket=undefined
i=-1 at=o charAt=[] bracket=undefined
i=-5 at=h charAt=[] bracket=undefined
i=-6 at=undefined charAt=[] bracket=undefined
i=-0 at=h charAt=[h] bracket=h
i=1.5 at=e charAt=[e] bracket=undefined
i=0.9 at=h charAt=[h] bracket=undefined
i=-1.5 at=o charAt=[] bracket=undefined
i=4.99 at=o charAt=[o] bracket=undefined
i=undefined at=h charAt=[h] bracket=undefined
i=null at=h charAt=[h] bracket=undefined
i=NaN at=h charAt=[h] bracket=undefined
i=true at=e charAt=[e] bracket=undefined
i=false at=h charAt=[h] bracket=undefined
i='2' at=l charAt=[l] bracket=l
i='' at=h charAt=[h] bracket=undefined
i=Infinity at=undefined charAt=[] bracket=undefined
i=-Infinity at=undefined charAt=[] bracket=undefined
bracket-'1'=e
bracket-'01'=undefined
bracket-'1.0'=undefined
bracket-' 1'=undefined
bracket-'-0'=undefined
bracket-length=5
charAt-noarg=h
at-noarg=h
0-in=true
5-in=false
empty-at=undefined
empty-charAt=[]
empty-bracket=undefined
emoji-at1=d83d
emoji-charAt1=d83d
emoji-bracket1=d83d

RTS output:

__RUNTIME_ERROR__
claude-concat-many-args — rts_error

Bun output:

zero=[x]
one=xa
two=xab
five=xabcde
ten=0123456789
apply64-len=64
apply64-head=012345678901
apply64-tail=0123
spread=pqr
spread-empty-len=0
empties=[]
empties-len=0
interleaved=abc
int=n=42
zero-num=n=0
neg-zero=n=0
float=n=1.5
exp=n=1e+21
tiny=n=1e-7
nan=n=NaN
inf=n=Infinity,-Infinity
bools=b=true,false
null=v=null
undefined=v=undefined
null-undef=null|undefined
arr=a=1,2,3
arr-empty=[]
arr-nested=1,2,3
arr-holes=,,1
obj=[object Object]
custom-tostring=CUSTOM
tostring-wins=STR
mixed=a1truenullundefined2
no-mutate=keep
no-mutate-len=4
eq-plus=true
call-num=5!
call-bool=true!
halves-len=2
halves-cp=1f600

Node output:

zero=[x]
one=xa
two=xab
five=xabcde
ten=0123456789
apply64-len=64
apply64-head=012345678901
apply64-tail=0123
spread=pqr
spread-empty-len=0
empties=[]
empties-len=0
interleaved=abc
int=n=42
zero-num=n=0
neg-zero=n=0
float=n=1.5
exp=n=1e+21
tiny=n=1e-7
nan=n=NaN
inf=n=Infinity,-Infinity
bools=b=true,false
null=v=null
undefined=v=undefined
null-undef=null|undefined
arr=a=1,2,3
arr-empty=[]
arr-nested=1,2,3
arr-holes=,,1
obj=[object Object]
custom-tostring=CUSTOM
tostring-wins=STR
mixed=a1truenullundefined2
no-mutate=keep
no-mutate-len=4
eq-plus=true
call-num=5!
call-bool=true!
halves-len=2
halves-cp=1f600

RTS output:

__RUNTIME_ERROR__
claude-fromcharcode-as-value — rts_error

Bun output:

direct=A
direct-multi=HI
typeof=function
name=fromCharCode
length=1
alias=B
alias-multi=CDE
alias-none=[]
let-alias=F
obj-prop=G
arr-elem=H
map=IJK
map-direct=L|M�|N�
passed=O
passed-alias=P
returned=Q
closure=R
call=S
apply=TU
bind=V
bind-partial=WX
identity=true
obj-identity=true
spread=YZ
alias-spread=YZ
fcp-direct=a
fcp-alias=b
fcp-alias-astral-len=2

Node output:

direct=A
direct-multi=HI
typeof=function
name=fromCharCode
length=1
alias=B
alias-multi=CDE
alias-none=[]
let-alias=F
obj-prop=G
arr-elem=H
map=IJK
map-direct=L|M�|N�
passed=O
passed-alias=P
returned=Q
closure=R
call=S
apply=TU
bind=V
bind-partial=WX
identity=true
obj-identity=true
spread=YZ
alias-spread=YZ
fcp-direct=a
fcp-alias=b
fcp-alias-astral-len=2

RTS output:

__RUNTIME_ERROR__
claude-lone-surrogate-iteration — rts_diverge

Bun output:

3
3
[97,55357,98]
1 55357
1 128512
2 2
true
true

Node output:

3
3
[97,55357,98]
1 55357
1 128512
2 2
true
true

RTS output:

3
3
[97,65533,98]
1 65533
1 128512
2 2
true
true
claude-padstart-unicode — rts_diverge

Bun output:

[005]
[**café]
[ababx]
[ab12121]
[abc]
[yoy]
2 3
[-🎉]
4
d83d dc9a d83d 120
5
d83d dd25

Node output:

[005]
[**café]
[ababx]
[ab12121]
[abc]
[yoy]
2 3
[-🎉]
4
d83d dc9a d83d 120
5
d83d dd25

RTS output:

[005]
[**café]
[ababx]
[ab12121]
[abc]
[yoy]
2 4
[--🎉]
7
d83d dc9a d83d 56474
9
d83d dd25
claude-replace-string-pattern-dollar — rts_diverge

Bun output:

first=a-bXcX
first-word=dog cat cat
no-match=abc
empty-pattern=-abc
empty-repl=abX
whole=Z
amp=he[ll]o
amp-twice=hellllo
amp-empty-pat=[]abc
prefix=ab[ab]ef
prefix-at-start=[]cdef
suffix=ab[ef]ef
suffix-at-end=abcd[]
dollar=$
dollar-amount=$100
dollar-then-amp=$xy
group1-literal=a$1c
group0-literal=a$0c
named-literal=a$<n>c
lone-dollar=a$c
dollar-x=a$xc
trailing-dollar=az$c
combo=ab<ab|cd|ef>ef
combo2=121234545
num-repl=a42c
num-pattern=a-b1
fn=abc@1/6abc
fn-empty=[0@0]abc
fn-no-expand=a$&c

Node output:

first=a-bXcX
first-word=dog cat cat
no-match=abc
empty-pattern=-abc
empty-repl=abX
whole=Z
amp=he[ll]o
amp-twice=hellllo
amp-empty-pat=[]abc
prefix=ab[ab]ef
prefix-at-start=[]cdef
suffix=ab[ef]ef
suffix-at-end=abcd[]
dollar=$
dollar-amount=$100
dollar-then-amp=$xy
group1-literal=a$1c
group0-literal=a$0c
named-literal=a$<n>c
lone-dollar=a$c
dollar-x=a$xc
trailing-dollar=az$c
combo=ab<ab|cd|ef>ef
combo2=121234545
num-repl=a42c
num-pattern=a-b1
fn=abc@1/6abc
fn-empty=[0@0]abc
fn-no-expand=a$&c

RTS output:

first=a-bXcX
first-word=dog cat cat
no-match=abc
empty-pattern=-abc
empty-repl=abX
whole=Z
amp=he[$&]o
amp-twice=he$&$&o
amp-empty-pat=[$&]abc
prefix=ab[$`]ef
prefix-at-start=[$`]cdef
suffix=ab[$']ef
suffix-at-end=abcd[$']
dollar=$$
dollar-amount=$$100
dollar-then-amp=$$$&y
group1-literal=a$1c
group0-literal=a$0c
named-literal=a$<n>c
lone-dollar=a$c
dollar-x=a$xc
trailing-dollar=az$c
combo=ab<$`|$&|$'>ef
combo2=12$`$&$'45
num-repl=a42c
num-pattern=a-b1
fn=abcabc
fn-empty=abc
fn-no-expand=abc
claude-split-empty-separator-units — rts_diverge

Bun output:

split-len=4
spread-len=3
str-len=4
units=61,d83d,de00,62
piece-lens=1,1,1,1
rejoin-eq=true
half-hi-isLone=true
half-lo-isLone=true
half-hi-cp=d83d
full-cp=1f600
spread-lens=1,2,1
spread-cps=61,1f600,62
two-split-len=4
two-spread-len=2
ffff-split=1
10000-split=2
combining-split=2
combining-spread=2
empty-split-len=0
ascii-split=a|b|c
limit=61,d83d,de00
limit0-len=0

Node output:

split-len=4
spread-len=3
str-len=4
units=61,d83d,de00,62
piece-lens=1,1,1,1
rejoin-eq=true
half-hi-isLone=true
half-lo-isLone=true
half-hi-cp=d83d
full-cp=1f600
spread-lens=1,2,1
spread-cps=61,1f600,62
two-split-len=4
two-spread-len=2
ffff-split=1
10000-split=2
combining-split=2
combining-spread=2
empty-split-len=0
ascii-split=a|b|c
limit=61,d83d,de00
limit0-len=0

RTS output:

split-len=3
spread-len=3
str-len=4
units=61,d83d,62
piece-lens=1,2,1
rejoin-eq=true
half-hi-isLone=true
half-lo-isLone=false
half-hi-cp=1f600
full-cp=1f600
spread-lens=1,2,1
spread-cps=61,1f600,62
two-split-len=2
two-spread-len=2
ffff-split=1
10000-split=1
combining-split=2
combining-spread=2
empty-split-len=0
ascii-split=a|b|c
limit=61,d83d,62
limit0-len=0
claude-split-undefined-separator — rts_error

Bun output:

noarg-len=1
noarg-0=a,b,c
noarg-eq-src=true
undef-len=1
undef-0=a,b,c
literal-len=2
literal=a|b
var-undef-len=1
null-len=2
null=a|b
null-nomatch=abc
undef-limit0-len=0
undef-limit1-len=1
undef-limit1-0=a,b,c
noarg-limit0-len=0
empty-undef-len=1
empty-undef-0=[]
empty-sep-len=0
absent-len=1
absent-0=a,b,c
is-array=true
elem-type=string

Node output:

noarg-len=1
noarg-0=a,b,c
noarg-eq-src=true
undef-len=1
undef-0=a,b,c
literal-len=2
literal=a|b
var-undef-len=1
null-len=2
null=a|b
null-nomatch=abc
undef-limit0-len=0
undef-limit1-len=1
undef-limit1-0=a,b,c
noarg-limit0-len=0
empty-undef-len=1
empty-undef-0=[]
empty-sep-len=0
absent-len=1
absent-0=a,b,c
is-array=true
elem-type=string

RTS output:

__RUNTIME_ERROR__
claude-tostring-vs-valueof-hint — rts_diverge

Bun output:

7
STR
STR
7
8
STR
STR,STR
99
[object Object]
[object Object]
[object Object]

Node output:

7
STR
STR
7
8
STR
STR,STR
99
[object Object]
[object Object]
[object Object]

RTS output:

7
STR
STR
7
8
STR
STR,STR
99
99
99
[object Object]
claude-towellformed-lone-surrogates — rts_diverge

Bun output:

ascii wf=true len=3 fixedLen=3 fixed=61,62,63
empty wf=true len=0 fixedLen=0 fixed=
bmp wf=true len=4 fixedLen=4 fixed=63,61,66,e9
valid-pair wf=true len=2 fixedLen=2 fixed=d83d,de00
pair-in-text wf=true len=4 fixedLen=4 fixed=61,d83d,de00,62
two-pairs wf=true len=4 fixedLen=4 fixed=d83d,de00,d83d,de01
lone-hi wf=false len=1 fixedLen=1 fixed=fffd
lone-hi-mid wf=false len=3 fixedLen=3 fixed=61,fffd,62
lone-hi-end wf=false len=3 fixedLen=3 fixed=61,62,fffd
lone-hi-start wf=false len=3 fixedLen=3 fixed=fffd,61,62
lone-lo wf=false len=1 fixedLen=1 fixed=fffd
lone-lo-mid wf=false len=3 fixedLen=3 fixed=61,fffd,62
lone-lo-start wf=false len=3 fixedLen=3 fixed=fffd,61,62
reversed-pair wf=false len=2 fixedLen=2 fixed=fffd,fffd
hi-then-ascii wf=false len=2 fixedLen=2 fixed=fffd,61
hi-then-hi wf=false len=2 fixedLen=2 fixed=fffd,fffd
lo-then-lo wf=false len=2 fixedLen=2 fixed=fffd,fffd
hi-hi-hi-lo wf=false len=4 fixedLen=4 fixed=fffd,fffd,d83d,de00
lone-then-pair wf=false len=3 fixedLen=3 fixed=fffd,d83d,de00
pair-then-lone wf=false len=3 fixedLen=3 fixed=d83d,de00,fffd
hi-min-D800 wf=false len=1 fixedLen=1 fixed=fffd
hi-max-DBFF wf=false len=1 fixedLen=1 fixed=fffd
lo-min-DC00 wf=false len=1 fixedLen=1 fixed=fffd
lo-max-DFFF wf=false len=1 fixedLen=1 fixed=fffd
min-pair wf=true len=2 fixedLen=2 fixed=d800,dc00
max-pair wf=true len=2 fixedLen=2 fixed=dbff,dfff
D7FF wf=true len=1 fixedLen=1 fixed=d7ff
E000 wf=true len=1 fixedLen=1 fixed=e000
replacement-char wf=true len=1 fixedLen=1 fixed=fffd
idempotent=true
fixed-is-wf=true
unchanged=true
len-preserved=true
no-mutate=61,d83d,62,de00,63

Node output:

ascii wf=true len=3 fixedLen=3 fixed=61,62,63
empty wf=true len=0 fixedLen=0 fixed=
bmp wf=true len=4 fixedLen=4 fixed=63,61,66,e9
valid-pair wf=true len=2 fixedLen=2 fixed=d83d,de00
pair-in-text wf=true len=4 fixedLen=4 fixed=61,d83d,de00,62
two-pairs wf=true len=4 fixedLen=4 fixed=d83d,de00,d83d,de01
lone-hi wf=false len=1 fixedLen=1 fixed=fffd
lone-hi-mid wf=false len=3 fixedLen=3 fixed=61,fffd,62
lone-hi-end wf=false len=3 fixedLen=3 fixed=61,62,fffd
lone-hi-start wf=false len=3 fixedLen=3 fixed=fffd,61,62
lone-lo wf=false len=1 fixedLen=1 fixed=fffd
lone-lo-mid wf=false len=3 fixedLen=3 fixed=61,fffd,62
lone-lo-start wf=false len=3 fixedLen=3 fixed=fffd,61,62
reversed-pair wf=false len=2 fixedLen=2 fixed=fffd,fffd
hi-then-ascii wf=false len=2 fixedLen=2 fixed=fffd,61
hi-then-hi wf=false len=2 fixedLen=2 fixed=fffd,fffd
lo-then-lo wf=false len=2 fixedLen=2 fixed=fffd,fffd
hi-hi-hi-lo wf=false len=4 fixedLen=4 fixed=fffd,fffd,d83d,de00
lone-then-pair wf=false len=3 fixedLen=3 fixed=fffd,d83d,de00
pair-then-lone wf=false len=3 fixedLen=3 fixed=d83d,de00,fffd
hi-min-D800 wf=false len=1 fixedLen=1 fixed=fffd
hi-max-DBFF wf=false len=1 fixedLen=1 fixed=fffd
lo-min-DC00 wf=false len=1 fixedLen=1 fixed=fffd
lo-max-DFFF wf=false len=1 fixedLen=1 fixed=fffd
min-pair wf=true len=2 fixedLen=2 fixed=d800,dc00
max-pair wf=true len=2 fixedLen=2 fixed=dbff,dfff
D7FF wf=true len=1 fixedLen=1 fixed=d7ff
E000 wf=true len=1 fixedLen=1 fixed=e000
replacement-char wf=true len=1 fixedLen=1 fixed=fffd
idempotent=true
fixed-is-wf=true
unchanged=true
len-preserved=true
no-mutate=61,d83d,62,de00,63

RTS output:

ascii wf=true len=3 fixedLen=3 fixed=61,62,63
empty wf=true len=0 fixedLen=0 fixed=
bmp wf=true len=4 fixedLen=4 fixed=63,61,66,e9
valid-pair wf=true len=0 fixedLen=0 fixed=
pair-in-text wf=true len=2 fixedLen=2 fixed=61,62
two-pairs wf=true len=0 fixedLen=0 fixed=
lone-hi wf=true len=0 fixedLen=0 fixed=
lone-hi-mid wf=true len=2 fixedLen=2 fixed=61,62
lone-hi-end wf=true len=2 fixedLen=2 fixed=61,62
lone-hi-start wf=true len=2 fixedLen=2 fixed=61,62
lone-lo wf=true len=0 fixedLen=0 fixed=
lone-lo-mid wf=true len=2 fixedLen=2 fixed=61,62
lone-lo-start wf=true len=2 fixedLen=2 fixed=61,62
reversed-pair wf=true len=0 fixedLen=0 fixed=
hi-then-ascii wf=true len=1 fixedLen=1 fixed=61
hi-then-hi wf=true len=0 fixedLen=0 fixed=
lo-then-lo wf=true len=0 fixedLen=0 fixed=
hi-hi-hi-lo wf=true len=0 fixedLen=0 fixed=
lone-then-pair wf=true len=0 fixedLen=0 fixed=
pair-then-lone wf=true len=0 fixedLen=0 fixed=
hi-min-D800 wf=true len=0 fixedLen=0 fixed=
hi-max-DBFF wf=true len=0 fixedLen=0 fixed=
lo-min-DC00 wf=true len=0 fixedLen=0 fixed=
lo-max-DFFF wf=true len=0 fixedLen=0 fixed=
min-pair wf=true len=0 fixedLen=0 fixed=
max-pair wf=true len=0 fixedLen=0 fixed=
D7FF wf=true len=1 fixedLen=1 fixed=d7ff
E000 wf=true len=1 fixedLen=1 fixed=e000
replacement-char wf=true len=1 fixedLen=1 fixed=fffd
idempotent=false
fixed-is-wf=undefined
unchanged=true
len-preserved=true
no-mutate=61,62,63
claude-trim-exotic-whitespace — rts_diverge

Bun output:

trim-tab=78
trim-lf=78
trim-vt=78
trim-ff=78
trim-cr=78
trim-space=78
trim-nbsp=78
trim-ogham=78
trim-enquad=78
trim-emspace=78
trim-thin=78
trim-hair=78
trim-ls=78
trim-ps=78
trim-narrownb=78
trim-mathsp=78
trim-ideo=78
trim-bom=78
notrim-zwsp=200b,78,200b
notrim-zwnj=200c,78,200c
notrim-zwj=200d,78,200d
notrim-nul=0,78,0
notrim-nextline=85,78,85
exotic-raw=a0,feff,2028,78,2029,3000
exotic-trimStart=78,2029,3000
exotic-trimEnd=a0,feff,2028,78
exotic-trim=78
all-ws-trim-len=0
all-ws-trimStart-len=0
all-ws-trimEnd-len=0
interior=20,61,a0,62,20
interior-trim=61,a0,62
zwsp-blocks=200b,20,78
empty-trim-len=0
nbsp-only-trim-len=0
bom-only-trim-len=0
no-mutate-len=3

Node output:

trim-tab=78
trim-lf=78
trim-vt=78
trim-ff=78
trim-cr=78
trim-space=78
trim-nbsp=78
trim-ogham=78
trim-enquad=78
trim-emspace=78
trim-thin=78
trim-hair=78
trim-ls=78
trim-ps=78
trim-narrownb=78
trim-mathsp=78
trim-ideo=78
trim-bom=78
notrim-zwsp=200b,78,200b
notrim-zwnj=200c,78,200c
notrim-zwj=200d,78,200d
notrim-nul=0,78,0
notrim-nextline=85,78,85
exotic-raw=a0,feff,2028,78,2029,3000
exotic-trimStart=78,2029,3000
exotic-trimEnd=a0,feff,2028,78
exotic-trim=78
all-ws-trim-len=0
all-ws-trimStart-len=0
all-ws-trimEnd-len=0
interior=20,61,a0,62,20
interior-trim=61,a0,62
zwsp-blocks=200b,20,78
empty-trim-len=0
nbsp-only-trim-len=0
bom-only-trim-len=0
no-mutate-len=3

RTS output:

trim-tab=78
trim-lf=78
trim-vt=78
trim-ff=78
trim-cr=78
trim-space=78
trim-nbsp=78
trim-ogham=78
trim-enquad=78
trim-emspace=78
trim-thin=78
trim-hair=78
trim-ls=78
trim-ps=78
trim-narrownb=78
trim-mathsp=78
trim-ideo=78
trim-bom=feff,78,feff
notrim-zwsp=200b,78,200b
notrim-zwnj=200c,78,200c
notrim-zwj=200d,78,200d
notrim-nul=0,78,0
notrim-nextline=78
exotic-raw=a0,feff,2028,78,2029,3000
exotic-trimStart=feff,2028,78,2029,3000
exotic-trimEnd=a0,feff,2028,78
exotic-trim=feff,2028,78
all-ws-trim-len=1
all-ws-trimStart-len=4
all-ws-trimEnd-len=5
interior=20,61,a0,62,20
interior-trim=61,a0,62
zwsp-blocks=200b,20,78
empty-trim-len=0
nbsp-only-trim-len=0
bom-only-trim-len=1
no-mutate-len=3
273_symbol_asynciterator — rts_error

Bun output:

iter=2,4,6

Node output:

iter=2,4,6

RTS output:

__RUNTIME_ERROR__
378_symbol_species_hasinstance — rts_error

Bun output:

true
false
true
false
0,1,2,3
0,4,5
0,6,7
true
false
2,4,6,8
5
5m
true

Node output:

true
false
true
false
0,1,2,3
0,4,5
0,6,7
true
false
2,4,6,8
5
5m
true

RTS output:

__RUNTIME_ERROR__
402_template_toPrimitive_order — rts_diverge

Bun output:

S
Sx
7
prim:string|prim:default|prim:number

Node output:

S
Sx
7
prim:string|prim:default|prim:number

RTS output:

T
3x
7
toString|valueOf|prim:number
codex_symbol_toStringTag_custom — rts_error

Bun output:

[object Object]
[object Custom]
[object Box]

Node output:

[object Object]
[object Custom]
[object Box]

RTS output:

__RUNTIME_ERROR__
codex_symbol_unscopables_with — rts_error

Bun output:

10:2

Node output:

10:2

RTS output:

__RUNTIME_ERROR__
300_this_strict_top_level — rts_error

Bun output:

strict=true
sloppy=true

Node output:

strict=true
sloppy=true

RTS output:

__RUNTIME_ERROR__
360_obf_iife_scope — rts_error

Bun output:

30
2
49
49
9
neg
zero
small
medium
large

Node output:

30
2
49
49
9
neg
zero
small
medium
large

RTS output:

__RUNTIME_ERROR__
399_default_param_temporal_order — rts_error

Bun output:

2,3,4
2,10,12
2,3,20
5:5:5
5:5:5

Node output:

2,3,4
2,10,12
2,3,20
5:5:5
5:5:5

RTS output:

__RUNTIME_ERROR__
400_eval_scope_edges — rts_error

Bun output:

local:missing
7

Node output:

local:missing
7

RTS output:

__RUNTIME_ERROR__
417_nested_optional_call_this_binding — rts_diverge

Bun output:

5
9
12
undefined

Node output:

5
9
12
undefined

RTS output:

undefined
0
undefined
undefined
claude-closure-block-shadowing — rts_error

Bun output:

outer=outer inner=inner2
levels=1,2,3
branch=then
var_no_block_shadow=reassigned:block
let_shadows_var=var:let
shadow_param=arg:shadowed
created_before_shadow=mutated
loop_block_shadow=I0,I1 outer=O

Node output:

outer=outer inner=inner2
levels=1,2,3
branch=then
var_no_block_shadow=reassigned:block
let_shadows_var=var:let
shadow_param=arg:shadowed
created_before_shadow=mutated
loop_block_shadow=I0,I1 outer=O

RTS output:

__RUNTIME_ERROR__
codex_destructuring_iterator_close_on_default_throw — rts_error

Bun output:

default
next0,return

Node output:

default
next0,return

RTS output:

__RUNTIME_ERROR__
codex_for_in_shadowed_var_closure — rts_diverge

Bun output:

a1,b2,c3
c,c,c

Node output:

a1,b2,c3
c,c,c

RTS output:

a1,b2,c3
a,b,c
codex_tdz_typeof_let — rts_diverge

Bun output:

ReferenceError
1

Node output:

ReferenceError
1

RTS output:

undefined
1
codex_dataview_offsets_endian_mix — rts_error

Bun output:

00 00 12 34 78 56 fe ff ff ff 00 00
1234
5678
-2

Node output:

00 00 12 34 78 56 fe ff ff ff 00 00
1234
5678
-2

RTS output:

__RUNTIME_ERROR__
codex_typedarray_set_overlap — rts_diverge

Bun output:

1,2,1,2,3,4
127,-128,127,4

Node output:

1,2,1,2,3,4
127,-128,127,4

RTS output:

1,2,1,2,3,4
127,128,-129,260
codex_typedarray_species_slice — rts_error

Bun output:

Uint16Array
2
2,3

Node output:

Uint16Array
2
2,3

RTS output:

__RUNTIME_ERROR__
codex_typedarray_subarray_shared_sort — rts_diverge

Bun output:

2,3,4
5,2,3,4,1
5,9,3,4,1

Node output:

2,3,4
5,2,3,4,1
5,9,3,4,1

RTS output:

2,3,4
5,4,3,2,1
5,4,3,2,1
codex_typedarray_toStringTag — rts_diverge

Bun output:

[object Uint8Array]
[object Int16Array]
[object Float32Array]

Node output:

[object Uint8Array]
[object Int16Array]
[object Float32Array]

RTS output:

0
0
0
107_url_edge_cases — rts_diverge

Bun output:

origin=https://example.com:8443
user=user:pass
path=/b/
query= 
href=https://user:[email protected]:8443/b/?q=%20#frag

Node output:

origin=https://example.com:8443
user=user:pass
path=/b/
query= 
href=https://user:[email protected]:8443/b/?q=%20#frag

RTS output:

origin=https://example.com:8443
user=user:pass
path=/b/
query= 
href=https://user:[email protected]:8443/b/?q=+#frag
codex_url_relative_resolution — rts_error

Bun output:

https://example.com/a/d/e?space=a%20b&plus=a+b#frag
/a/d/e
a b
a b
?space=a+b&plus=a+b&emoji=%F0%9F%99%82

Node output:

https://example.com/a/d/e?space=a%20b&plus=a+b#frag
/a/d/e
a b
a b
?space=a+b&plus=a+b&emoji=%F0%9F%99%82

RTS output:

__RUNTIME_ERROR__
codex_url_username_password_encoding — rts_diverge

Bun output:

https://a%20b:p%40ss%[email protected]/
a%20b
p%40ss%3Aword

Node output:

https://a%20b:p%40ss%[email protected]/
a%20b
p%40ss%3Aword

RTS output:

https://a b:p@ss:[email protected]/
a b
p@ss:word
codex_urlsearchparams_live_sort — rts_diverge

Bun output:

https://x.test/path?a=1&b=2&b=1&c=hello+world
2,1
z=9

Node output:

https://x.test/path?a=1&b=2&b=1&c=hello+world
2,1
z=9

RTS output:

https://x.test/path?a=1&b=2&b=1&c=hello+world
2,1
a=1&b=2&b=1&c=hello+world

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant