Programming Language

Nocter

A self-contained systems language built around simplicity, encapsulation, and foolproof design.

/development/std/internal/ptr/replacement.nct

replacement.nct

//! Safe initialized-place replacement over the package's raw move primitives.

see ./index.nct

use /ptr.from_ref_mut

func replace_value<T>(place: &+T, replacement: T): T {
    let pointer = from_ref_mut(place)
    let previous: T = take_value_at_ptr(pointer, 0)
    store_value_to_ptr(pointer, 0, move replacement)
    return move previous
}