On Sunday, 17 August 2025 at 02:03:53 UTC, Brother Bill wrote:
On Sunday, 17 August 2025 at 01:44:38 UTC, Monkyyy wrote:
On Sunday, 17 August 2025 at 01:19:41 UTC, Brother Bill wrote:
Merely pointing to an invalid address will not produce UB
(undefined behavior)
I linked you to the gc #wontfix list, it's explicitly the
magic words "UB".
Idk what's actually happens(ub isn't a useful distinction),
someone would have to extensively test it, but it's expressly
not "do whatever" someone must've tried the xor linked list
and found it doesn't work in some case.
An invalid pointer outside common use patterns could confuse
the GC and some invalid pointers are *known* to confuse the
GC(they should've keep the code rather then their wontfix list
*tsk*)
Understood. Wild garbage pointers will confuse the GC.
Will a pointer just after a slice confuse the GC, or is the GC
expecting this case?
I believe it must be handled by accident(the spec says nothing
useful on the topic but ali seems convinced c patterns work),
upstream will likely cause a regression for ported code when they
pull the trigger on new GC + safe by default and we will see
weather the old behavior get codified or if safetyism wins.
But idk, you may have to ask Steve if he tested the new GC on
awful c pointer code. 0x or mojo has told me new GC bitshifts
data into upper bits( meaning I couldn't, probably shouldn't,
brother to learn the actual behavior of the oldgc )
95% of the time, use indexes over pointers, follow that trend.