Commit ea5cedced1

Andrew Kelley <andrew@ziglang.org>
2019-03-02 20:31:04
fix @typeName on slices
closes #2026
1 parent 4bac22e
Changed files (3)
src
test
stage1
src/analyze.cpp
@@ -6857,7 +6857,9 @@ void emit_error_notes_for_ref_stack(CodeGen *g, ErrorMsg *msg) {
 }
 
 Buf *type_bare_name(ZigType *type_entry) {
-    if (is_container(type_entry)) {
+    if (is_slice(type_entry)) {
+        return &type_entry->name;
+    } else if (is_container(type_entry)) {
         return get_container_scope(type_entry)->bare_name;
     } else if (type_entry->id == ZigTypeIdOpaque) {
         return type_entry->data.opaque.bare_name;
test/stage1/behavior/typename.zig
@@ -0,0 +1,7 @@
+const std = @import("std");
+const expect = std.testing.expect;
+const expectEqualSlices = std.testing.expectEqualSlices;
+
+test "slice" {
+    expectEqualSlices(u8, "[]u8", @typeName([]u8));
+}
test/stage1/behavior.zig
@@ -80,6 +80,7 @@ comptime {
     _ = @import("behavior/truncate.zig");
     _ = @import("behavior/try.zig");
     _ = @import("behavior/type_info.zig");
+    _ = @import("behavior/typename.zig");
     _ = @import("behavior/undefined.zig");
     _ = @import("behavior/underscore.zig");
     _ = @import("behavior/union.zig");