master
 1fn cmpxchgStrongButNotAtomic(comptime T: type, ptr: *T, expected_value: T, new_value: T) ?T {
 2    const old_value = ptr.*;
 3    if (old_value == expected_value) {
 4        ptr.* = new_value;
 5        return null;
 6    } else {
 7        return old_value;
 8    }
 9}
10
11// syntax