Change signature for move_val_init intrinsic to take *mut T for dest.

rebase update to typeck/check/mod.rs
This commit is contained in:
Felix S. Klock II
2015-06-05 14:17:49 +02:00
parent b325e4f28e
commit 75da81e782
2 changed files with 9 additions and 3 deletions

View File

@@ -184,6 +184,14 @@ extern "rust-intrinsic" {
/// elements. /// elements.
pub fn size_of<T>() -> usize; pub fn size_of<T>() -> usize;
#[cfg(not(stage0))]
/// Moves a value to an uninitialized memory location.
///
/// Drop glue is not run on the destination.
pub fn move_val_init<T>(dst: *mut T, src: T);
// SNAP ba0e1cd
#[cfg(stage0)]
/// Moves a value to an uninitialized memory location. /// Moves a value to an uninitialized memory location.
/// ///
/// Drop glue is not run on the destination. /// Drop glue is not run on the destination.

View File

@@ -4894,9 +4894,7 @@ pub fn check_intrinsic_type(ccx: &CrateCtxt, it: &ast::ForeignItem) {
"move_val_init" => { "move_val_init" => {
(1, (1,
vec!( vec!(
tcx.mk_mut_ref(tcx.mk_region(ty::ReLateBound(ty::DebruijnIndex::new(1), tcx.mk_mut_ptr(param(ccx, 0)),
ty::BrAnon(0))),
param(ccx, 0)),
param(ccx, 0) param(ccx, 0)
), ),
tcx.mk_nil()) tcx.mk_nil())