Conversation

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

1
1
2

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

2
1
2

@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

1
0
1

@alterae we already have that it's `&(!, T)`

2
0
1

@Gankra

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

1
0
4

@Gankra (@alterae) wait, isn’t making a &! instant UB?

1
0
0

@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

0
1
0

@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

1
0
0

@sodiboo @Gankra it’s designed for designed for one computer from 60 years ago with delay line memory

0
1
1