Don't warn about redeclaration for the same var node

Closes #3316
This commit is contained in:
LemonBoy 2019-09-26 17:54:45 +02:00 committed by Andrew Kelley
parent b89a09af4b
commit 2c8864f634
2 changed files with 9 additions and 1 deletions

View File

@ -3676,7 +3676,7 @@ ZigVar *add_variable(CodeGen *g, AstNode *source_node, Scope *parent_scope, Buf
}
if (search_scope != nullptr) {
Tld *tld = find_decl(g, search_scope, name);
if (tld != nullptr) {
if (tld != nullptr && tld != src_tld) {
ErrorMsg *msg = add_node_error(g, source_node,
buf_sprintf("redefinition of '%s'", buf_ptr(name)));
add_error_note(g, msg, tld->source_node, buf_sprintf("previous definition is here"));

View File

@ -12,3 +12,11 @@ test "usingnamespace inside a generic struct" {
std2.testing.expect(true);
testing2.expect(true);
}
usingnamespace struct {
pub const foo = 42;
};
test "usingnamespace does not redeclare an imported variable" {
comptime std.testing.expect(foo == 42);
}