about summary refs log tree commit diff
path: root/src/libstd
diff options
context:
space:
mode:
authorbors <bors@rust-lang.org>2013-09-08 22:16:07 -0700
committerbors <bors@rust-lang.org>2013-09-08 22:16:07 -0700
commiteae327032c775813eeb101233a4f7df24eab0a6a (patch)
tree8787d5d57cdb6c13b4b3094ecf1b399705dc62e3 /src/libstd
parentdd5c7379e9b8f3fe6df95f3ff43ca955b6bba485 (diff)
parentdb4720bdfaf5d20dad192760a045f239dc9f6141 (diff)
downloadrust-eae327032c775813eeb101233a4f7df24eab0a6a.tar.gz
rust-eae327032c775813eeb101233a4f7df24eab0a6a.zip
auto merge of #9066 : thestinger/rust/repr, r=alexcrichton
Diffstat (limited to 'src/libstd')
-rw-r--r--src/libstd/repr.rs7
1 files changed, 5 insertions, 2 deletions
diff --git a/src/libstd/repr.rs b/src/libstd/repr.rs
index 9873317738d..d3a648f8d53 100644
--- a/src/libstd/repr.rs
+++ b/src/libstd/repr.rs
@@ -189,8 +189,7 @@ impl<'self> ReprVisitor<'self> {
         } else if mtbl == 1 {
             // skip, this is ast::m_imm
         } else {
-            assert_eq!(mtbl, 2);
-            self.writer.write("const ".as_bytes());
+            fail!("invalid mutability value");
         }
     }
 
@@ -389,6 +388,7 @@ impl<'self> TyVisitor for ReprVisitor<'self> {
     fn visit_evec_slice(&mut self, mtbl: uint, inner: *TyDesc) -> bool {
         do self.get::<raw::Slice<()>> |this, s| {
             this.writer.write(['&' as u8]);
+            this.write_mut_qualifier(mtbl);
             this.write_vec_range(mtbl, s.data, s.len, inner);
         }
     }
@@ -696,6 +696,9 @@ fn test_repr() {
     exact_test(&(10u64, ~"hello"),
                "(10u64, ~\"hello\")");
 
+    exact_test(&(&[1, 2]), "&[1, 2]");
+    exact_test(&(&mut [1, 2]), "&mut [1, 2]");
+
     exact_test(&'\'', "'\\''");
     exact_test(&'"', "'\"'");
     exact_test(&("'"), "\"'\"");