2011-07-10 03:32:35 -05:00
|
|
|
// Unsafe operations.
|
|
|
|
|
|
|
|
native "rust-intrinsic" mod rusti {
|
2011-09-12 04:27:30 -05:00
|
|
|
fn cast<T, U>(src: T) -> U;
|
2011-07-10 03:32:35 -05:00
|
|
|
}
|
|
|
|
|
2011-08-22 20:05:34 -05:00
|
|
|
native "rust" mod rustrt {
|
2011-09-12 05:39:38 -05:00
|
|
|
fn leak<@T>(-thing: T);
|
2011-08-22 20:05:34 -05:00
|
|
|
}
|
|
|
|
|
2011-07-10 03:32:35 -05:00
|
|
|
// Casts the value at `src` to U. The two types must have the same length.
|
2011-09-12 04:27:30 -05:00
|
|
|
fn reinterpret_cast<T, @U>(src: T) -> U { ret rusti::cast(src); }
|
2011-07-10 03:32:35 -05:00
|
|
|
|
2011-09-12 05:39:38 -05:00
|
|
|
fn leak<@T>(-thing: T) { rustrt::leak(thing); }
|