about summary refs log tree commit diff
diff options
context:
space:
mode:
-rw-r--r--src/libcore/repr.rs8
1 files changed, 7 insertions, 1 deletions
diff --git a/src/libcore/repr.rs b/src/libcore/repr.rs
index c7a84ee9716..39b2e1af363 100644
--- a/src/libcore/repr.rs
+++ b/src/libcore/repr.rs
@@ -286,7 +286,13 @@ impl ReprVisitor : TyVisitor {
     fn visit_f32() -> bool { self.write::<f32>() }
     fn visit_f64() -> bool { self.write::<f64>() }
 
-    fn visit_char() -> bool { self.write::<u32>() }
+    fn visit_char() -> bool {
+        do self.get::<char> |&ch| {
+            self.writer.write_char('\'');
+            self.writer.write_escaped_char(ch);
+            self.writer.write_char('\'');
+        }
+    }
 
     // Type no longer exists, vestigial function.
     fn visit_str() -> bool { fail; }