#root

util root/util.vi

swap root/util.vi:10

fn swap[T](a: &T, b: &T);

Swap the values in two references.

let a = 1;
let b = 2;
swap(&a, &b);
a // 2
b // 1

replace root/util.vi:21

fn replace[T](a: &T, b: T) -> T;

Update the value in a reference and return the old value.

let data = 123;
let old = replace(&data, 456);
old // 123
data // 456

black_box root/util.vi:26

fn black_box[T](value: T) -> T;