gonna convince these nerds to give me back my rust-lang/rust commit bit back. or at least win it in a game to the death.
idk what i'd even merge, think i'd just start adding random ptr apis claiming increasingly unhinged memory model semantics
ptr::write_linear: writes a value to memory that can only be read by the next call to ptr::read_linear with the given address
subsequent calls to read_linear are Undefined Behaviour
non-linear reads of this memory are Undefined Behaviour
ptr::write_linear has SeqCst ordering
ptr::read_linear has Consume ordering
@Gankra add a reference type &nope T
it’s like &T except there’s no read access
no write access either
i’m too eepy rn to come up with the memory semantics that would make this appropriately Cursed
/Cinny
ptr::write_delayed: writes a value to memory that can only be read for 1ms, 15ms for now
ptr::read_delayed: reads a value to memory that has been written there 15ms ago
multiple calls to write_delayed within 1ms of the previous call are Undefined Behavior
calls to read_delayed outside of the 1ms window 15ms away from a previous write are Undefined Behavior
@Gankra ouch
that is the shortest sequence of characters i have encountered so far that still manages to instill in me the desire to never touch a computer again
@charlotte @Gankra why 1ms and 15ms? clearly we need two parameters to generalize this, and both calls must specify the same delay and interval or else it’s Undefined Behaviour. compare to memory allocation and deallocation where you must know the layout for both calls or else