shithub: mc

ref: dab3c8332f7e10f9cb5f22f85025e8e5ee7e9004
dir: /libstd/mk.myr/

View raw version
use "alloc.use"

pkg std =
	generic mk	: (val : @a -> @a#)
;;

/* Takes a value, and heapifies it.

FIXME: This depends on inlining and copy propagation
in order to be efficient. Neither of those are
currently implemented. That means that this function
is not efficient.

It's still damn convenient, though, so it's in.
*/
generic mk = {val
	var p

	p = alloc()
	p# = val
	-> p
}