authorgravatar for andrew@ziglang.orgAndrew Kelley <andrew@ziglang.org> 2019-03-02 14:31:04-05:00
committergravatar for andrew@ziglang.orgAndrew Kelley <andrew@ziglang.org> 2019-03-02 14:31:27-05:00
logea5cedced1aa6bb5e1c1a07fcd16c5bed08c971f
treea2a8059c1f8cbb6db8d8f13cf3cecf33f140246e
parent4bac22e88898158fc49e69db5bbe26a324797d68
signaturelock-open Commit is signed but in an unrecognized format.

fix @typeName on slices

closes #2026

3 files changed, 11 insertions(+), 1 deletions(-)

src/analyze.cpp+3-1
...@@ -6857,7 +6857,9 @@ void emit_error_notes_for_ref_stack(CodeGen *g, ErrorMsg *msg) {...@@ -6857,7 +6857,9 @@ void emit_error_notes_for_ref_stack(CodeGen *g, ErrorMsg *msg) {
6857}6857}
68586858
6859Buf *type_bare_name(ZigType *type_entry) {6859Buf *type_bare_name(ZigType *type_entry) {
6860 if (is_container(type_entry)) {6860 if (is_slice(type_entry)) {
6861 return &type_entry->name;
6862 } else if (is_container(type_entry)) {
6861 return get_container_scope(type_entry)->bare_name;6863 return get_container_scope(type_entry)->bare_name;
6862 } else if (type_entry->id == ZigTypeIdOpaque) {6864 } else if (type_entry->id == ZigTypeIdOpaque) {
6863 return type_entry->data.opaque.bare_name;6865 return type_entry->data.opaque.bare_name;
test/stage1/behavior.zig+1
...@@ -80,6 +80,7 @@ comptime {...@@ -80,6 +80,7 @@ comptime {
80 _ = @import("behavior/truncate.zig");80 _ = @import("behavior/truncate.zig");
81 _ = @import("behavior/try.zig");81 _ = @import("behavior/try.zig");
82 _ = @import("behavior/type_info.zig");82 _ = @import("behavior/type_info.zig");
83 _ = @import("behavior/typename.zig");
83 _ = @import("behavior/undefined.zig");84 _ = @import("behavior/undefined.zig");
84 _ = @import("behavior/underscore.zig");85 _ = @import("behavior/underscore.zig");
85 _ = @import("behavior/union.zig");86 _ = @import("behavior/union.zig");
test/stage1/behavior/typename.zig created+7
...@@ -0,0 +1,7 @@
1const std = @import("std");
2const expect = std.testing.expect;
3const expectEqualSlices = std.testing.expectEqualSlices;
4
5test "slice" {
6 expectEqualSlices(u8, "[]u8", @typeName([]u8));
7}