diff options
| author | Daniel Micay <danielmicay@gmail.com> | 2013-08-26 16:39:51 -0400 |
|---|---|---|
| committer | Daniel Micay <danielmicay@gmail.com> | 2013-08-27 16:31:48 -0400 |
| commit | ac4f0df12067e9aeb8ad8b7b953c69192daf0ddd (patch) | |
| tree | 9c01d0e7ae596572a2736b309f44030083b4f5e5 /src/libstd | |
| parent | c2bc59e0869889d9b996da99915f95ae89ddff00 (diff) | |
| download | rust-ac4f0df12067e9aeb8ad8b7b953c69192daf0ddd.tar.gz rust-ac4f0df12067e9aeb8ad8b7b953c69192daf0ddd.zip | |
repr: include mutability qualifier in visit_ptr
Diffstat (limited to 'src/libstd')
| -rw-r--r-- | src/libstd/repr.rs | 15 |
1 files changed, 15 insertions, 0 deletions
diff --git a/src/libstd/repr.rs b/src/libstd/repr.rs index fa9d7b3b979..0bedabf835f 100644 --- a/src/libstd/repr.rs +++ b/src/libstd/repr.rs @@ -282,12 +282,14 @@ impl TyVisitor for ReprVisitor { self.write_escaped_slice(*s); } } + fn visit_estr_uniq(&self) -> bool { do self.get::<~str> |s| { self.writer.write_char('~'); self.write_escaped_slice(*s); } } + fn visit_estr_slice(&self) -> bool { do self.get::<&str> |s| { self.write_escaped_slice(*s); @@ -322,6 +324,7 @@ impl TyVisitor for ReprVisitor { } } + #[cfg(stage0)] fn visit_ptr(&self, _mtbl: uint, _inner: *TyDesc) -> bool { do self.get::<*c_void> |p| { self.writer.write_str(fmt!("(0x%x as *())", @@ -329,6 +332,15 @@ impl TyVisitor for ReprVisitor { } } + #[cfg(not(stage0))] + fn visit_ptr(&self, mtbl: uint, _inner: *TyDesc) -> bool { + do self.get::<*c_void> |p| { + self.writer.write_str(fmt!("(0x%x as *", *p as uint)); + self.write_mut_qualifier(mtbl); + self.writer.write_str("())"); + } + } + fn visit_rptr(&self, mtbl: uint, inner: *TyDesc) -> bool { self.writer.write_char('&'); self.write_mut_qualifier(mtbl); @@ -613,6 +625,9 @@ fn test_repr() { exact_test(&(&mut x), "&mut 10"); exact_test(&(@mut [1, 2]), "@mut [1, 2]"); + exact_test(&(0 as *()), "(0x0 as *())"); + exact_test(&(0 as *mut ()), "(0x0 as *mut ())"); + exact_test(&(1,), "(1,)"); exact_test(&(@[1,2,3,4,5,6,7,8]), "@[1, 2, 3, 4, 5, 6, 7, 8]"); |
