diff --git a/src/compiler/sema_name_resolution.c b/src/compiler/sema_name_resolution.c index 178f1bee0..7a94e3ee7 100644 --- a/src/compiler/sema_name_resolution.c +++ b/src/compiler/sema_name_resolution.c @@ -664,7 +664,7 @@ static void sema_report_error_on_decl(SemaContext *context, NameResolve *name_re Module *generic_module = module->generic_module; if (!generic_module && module->is_generic) generic_module = module; const char *module_name = generic_module ? generic_module->name->module : module->name->module; - if (generic_module && !name_resolve->is_parameterized) + if (decl_is_visible(context->unit, decl) && generic_module && !name_resolve->is_parameterized) { sema_error_at(context, span, "Did you mean the %s '%s' in the generic module %s? If so, use '%s{...}' instead.", maybe_name, symbol, module_name, symbol); diff --git a/test/test_suite/lexing/too_long_ident.c3 b/test/test_suite/lexing/too_long_ident.c3 index e159939a7..d2129a405 100644 --- a/test/test_suite/lexing/too_long_ident.c3 +++ b/test/test_suite/lexing/too_long_ident.c3 @@ -3,6 +3,6 @@ import std; fn int main() { int iodeofjoiewjfojfoiejfewjfijewfijewifjoiewjfioewjfioewjfioewjfiojewfiojewfiojeofjeiowfjioewjfioewjfioewjfijweifefefeffefefeeefef = 0; - int iodeofjoiewjfojfoiejfewjfijewfijewifjoiewjfioewjfioewjfioewjfiojewfiojewfiojeofjeiowfjioewjfioewjfioewjfijweifefefeffefefeeefef1 = 0; // #error: okfeokfe + int iodeofjoiewjfojfoiejfewjfijewfijewifjoiewjfioewjfioewjfioewjfiojewfiojewfiojeofjeiowfjioewjfioewjfioewjfijweifefefeffefefeeefef1 = 0; // #error: An identifier cannot be longer than 127 characters, but this one was 128 characters return 0; } \ No newline at end of file