From 0239a06a6401d789a70c0089ada071ca981874df Mon Sep 17 00:00:00 2001 From: Daniel Micay Date: Tue, 16 Jul 2013 23:26:16 -0400 Subject: rm unused visit_str method from TyVisitor --- src/libstd/reflect.rs | 1 + src/libstd/repr.rs | 1 + src/libstd/unstable/intrinsics.rs | 1 - 3 files changed, 2 insertions(+), 1 deletion(-) (limited to 'src/libstd') diff --git a/src/libstd/reflect.rs b/src/libstd/reflect.rs index fd16f4e5c69..63d2492bd33 100644 --- a/src/libstd/reflect.rs +++ b/src/libstd/reflect.rs @@ -197,6 +197,7 @@ impl TyVisitor for MovePtrAdaptor { true } + #[cfg(stage0)] fn visit_str(&self) -> bool { self.align_to::<~str>(); if ! self.inner.visit_str() { return false; } diff --git a/src/libstd/repr.rs b/src/libstd/repr.rs index 7707e83a9ce..3ab4d4ff4ab 100644 --- a/src/libstd/repr.rs +++ b/src/libstd/repr.rs @@ -269,6 +269,7 @@ impl TyVisitor for ReprVisitor { } // Type no longer exists, vestigial function. + #[cfg(stage0)] fn visit_str(&self) -> bool { fail!(); } fn visit_estr_box(&self) -> bool { diff --git a/src/libstd/unstable/intrinsics.rs b/src/libstd/unstable/intrinsics.rs index 015ecd67c83..796f691dd56 100644 --- a/src/libstd/unstable/intrinsics.rs +++ b/src/libstd/unstable/intrinsics.rs @@ -82,7 +82,6 @@ pub trait TyVisitor { fn visit_f64(&self) -> bool; fn visit_char(&self) -> bool; - fn visit_str(&self) -> bool; fn visit_estr_box(&self) -> bool; fn visit_estr_uniq(&self) -> bool; -- cgit 1.4.1-3-g733a5 From 0bc204e74d260f24e1458de08032c8631ae85a11 Mon Sep 17 00:00:00 2001 From: Daniel Micay Date: Wed, 17 Jul 2013 14:04:33 -0400 Subject: rm unnecessary stage0 `zero_memory` fn --- src/libstd/ptr.rs | 34 ++++++---------------------------- 1 file changed, 6 insertions(+), 28 deletions(-) (limited to 'src/libstd') diff --git a/src/libstd/ptr.rs b/src/libstd/ptr.rs index e1a62b26bbf..3f7a857e382 100644 --- a/src/libstd/ptr.rs +++ b/src/libstd/ptr.rs @@ -80,8 +80,7 @@ pub fn is_not_null(ptr: *const T) -> bool { !is_null(ptr) } #[inline] #[cfg(target_word_size = "32")] pub unsafe fn copy_memory(dst: *mut T, src: *const T, count: uint) { - use unstable::intrinsics::memmove32; - memmove32(dst, src as *T, count as u32); + intrinsics::memmove32(dst, src as *T, count as u32); } /** @@ -93,8 +92,7 @@ pub unsafe fn copy_memory(dst: *mut T, src: *const T, count: uint) { #[inline] #[cfg(target_word_size = "64")] pub unsafe fn copy_memory(dst: *mut T, src: *const T, count: uint) { - use unstable::intrinsics::memmove64; - memmove64(dst, src as *T, count as u64); + intrinsics::memmove64(dst, src as *T, count as u64); } /** @@ -106,8 +104,7 @@ pub unsafe fn copy_memory(dst: *mut T, src: *const T, count: uint) { #[inline] #[cfg(target_word_size = "32")] pub unsafe fn copy_nonoverlapping_memory(dst: *mut T, src: *const T, count: uint) { - use unstable::intrinsics::memcpy32; - memcpy32(dst, src as *T, count as u32); + intrinsics::memcpy32(dst, src as *T, count as u32); } /** @@ -119,8 +116,7 @@ pub unsafe fn copy_nonoverlapping_memory(dst: *mut T, src: *const T, count: u #[inline] #[cfg(target_word_size = "64")] pub unsafe fn copy_nonoverlapping_memory(dst: *mut T, src: *const T, count: uint) { - use unstable::intrinsics::memcpy64; - memcpy64(dst, src as *T, count as u64); + intrinsics::memcpy64(dst, src as *T, count as u64); } /** @@ -130,8 +126,7 @@ pub unsafe fn copy_nonoverlapping_memory(dst: *mut T, src: *const T, count: u #[inline] #[cfg(target_word_size = "32")] pub unsafe fn set_memory(dst: *mut T, c: u8, count: uint) { - use unstable::intrinsics::memset32; - memset32(dst, c, count as u32); + intrinsics::memset32(dst, c, count as u32); } /** @@ -141,34 +136,17 @@ pub unsafe fn set_memory(dst: *mut T, c: u8, count: uint) { #[inline] #[cfg(target_word_size = "64")] pub unsafe fn set_memory(dst: *mut T, c: u8, count: uint) { - use unstable::intrinsics::memset64; - memset64(dst, c, count as u64); + intrinsics::memset64(dst, c, count as u64); } /** * Zeroes out `count * size_of::` bytes of memory at `dst` */ #[inline] -#[cfg(not(stage0))] pub unsafe fn zero_memory(dst: *mut T, count: uint) { set_memory(dst, 0, count); } -/** - * Zeroes out `count * size_of::` bytes of memory at `dst` - */ -#[inline] -#[cfg(stage0)] -pub unsafe fn zero_memory(dst: *mut T, count: uint) { - let mut count = count * sys::size_of::(); - let mut dst = dst as *mut u8; - while count > 0 { - *dst = 0; - dst = mut_offset(dst, 1); - count -= 1; - } -} - /** * Swap the values at two mutable locations of the same type, without * deinitialising or copying either one. -- cgit 1.4.1-3-g733a5 From 0c7b220f20367cde776b9e854b905745c9a271e2 Mon Sep 17 00:00:00 2001 From: Daniel Micay Date: Wed, 17 Jul 2013 18:15:48 -0400 Subject: fix repr of unique vectors with stage0 libstd Closes #7860 --- src/libstd/repr.rs | 9 +++++++++ 1 file changed, 9 insertions(+) (limited to 'src/libstd') diff --git a/src/libstd/repr.rs b/src/libstd/repr.rs index 3ab4d4ff4ab..eafa3a892e8 100644 --- a/src/libstd/repr.rs +++ b/src/libstd/repr.rs @@ -353,6 +353,15 @@ impl TyVisitor for ReprVisitor { } } + #[cfg(stage0)] + fn visit_evec_uniq(&self, mtbl: uint, inner: *TyDesc) -> bool { + do self.get::<&VecRepr> |b| { + self.writer.write_char('~'); + self.write_unboxed_vec_repr(mtbl, &b.unboxed, inner); + } + } + + #[cfg(not(stage0))] fn visit_evec_uniq(&self, mtbl: uint, inner: *TyDesc) -> bool { do self.get::<&UnboxedVecRepr> |b| { self.writer.write_char('~'); -- cgit 1.4.1-3-g733a5 From 2988d3f5c6566b93496a5a79eebb5516fd8d866e Mon Sep 17 00:00:00 2001 From: Daniel Micay Date: Wed, 17 Jul 2013 18:47:01 -0400 Subject: fix repr of @mut vectors --- src/libstd/repr.rs | 11 +++++------ 1 file changed, 5 insertions(+), 6 deletions(-) (limited to 'src/libstd') diff --git a/src/libstd/repr.rs b/src/libstd/repr.rs index eafa3a892e8..4df2ace1056 100644 --- a/src/libstd/repr.rs +++ b/src/libstd/repr.rs @@ -200,7 +200,7 @@ impl ReprVisitor { } pub fn write_vec_range(&self, - mtbl: uint, + _mtbl: uint, ptr: *u8, len: uint, inner: *TyDesc) @@ -218,7 +218,6 @@ impl ReprVisitor { } else { self.writer.write_str(", "); } - self.write_mut_qualifier(mtbl); self.visit_ptr_inner(p as *c_void, inner); p = align(ptr::offset(p, sz) as uint, al) as *u8; left -= dec; @@ -303,18 +302,16 @@ impl TyVisitor for ReprVisitor { } } - fn visit_uniq(&self, mtbl: uint, inner: *TyDesc) -> bool { + fn visit_uniq(&self, _mtbl: uint, inner: *TyDesc) -> bool { self.writer.write_char('~'); - self.write_mut_qualifier(mtbl); do self.get::<*c_void> |b| { self.visit_ptr_inner(*b, inner); } } #[cfg(not(stage0))] - fn visit_uniq_managed(&self, mtbl: uint, inner: *TyDesc) -> bool { + fn visit_uniq_managed(&self, _mtbl: uint, inner: *TyDesc) -> bool { self.writer.write_char('~'); - self.write_mut_qualifier(mtbl); do self.get::<&managed::raw::BoxRepr> |b| { let p = ptr::to_unsafe_ptr(&b.data) as *c_void; self.visit_ptr_inner(p, inner); @@ -349,6 +346,7 @@ impl TyVisitor for ReprVisitor { fn visit_evec_box(&self, mtbl: uint, inner: *TyDesc) -> bool { do self.get::<&VecRepr> |b| { self.writer.write_char('@'); + self.write_mut_qualifier(mtbl); self.write_unboxed_vec_repr(mtbl, &b.unboxed, inner); } } @@ -630,6 +628,7 @@ fn test_repr() { exact_test(&(&10), "&10"); let mut x = 10; exact_test(&(&mut x), "&mut 10"); + exact_test(&(@mut [1, 2]), "@mut [1, 2]"); exact_test(&(1,), "(1,)"); exact_test(&(@[1,2,3,4,5,6,7,8]), -- cgit 1.4.1-3-g733a5 From ce166446777c6771c136c2e896b25b750cb9685b Mon Sep 17 00:00:00 2001 From: Daniel Micay Date: Wed, 17 Jul 2013 19:13:34 -0400 Subject: repr: add a test case for @mut inside another type --- src/libstd/repr.rs | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) (limited to 'src/libstd') diff --git a/src/libstd/repr.rs b/src/libstd/repr.rs index 4df2ace1056..0aeff2b0b77 100644 --- a/src/libstd/repr.rs +++ b/src/libstd/repr.rs @@ -621,9 +621,9 @@ fn test_repr() { exact_test(&(@"hello"), "@\"hello\""); exact_test(&(~"he\u10f3llo"), "~\"he\\u10f3llo\""); - // FIXME #4210: the mut fields are a bit off here. exact_test(&(@10), "@10"); - exact_test(&(@mut 10), "@10"); + exact_test(&(@mut 10), "@10"); // FIXME: #4210: incorrect + exact_test(&((@mut 10, 2)), "(@mut 10, 2)"); exact_test(&(~10), "~10"); exact_test(&(&10), "&10"); let mut x = 10; -- cgit 1.4.1-3-g733a5