- Improve error message for Foo{} when Foo is not a generic type #2574.

This commit is contained in:
Christoffer Lerno
2025-11-16 23:54:19 +01:00
parent 1ea181524e
commit 06884720e5
5 changed files with 51 additions and 16 deletions

View File

@@ -0,0 +1,30 @@
module foo;
import std, bar;
struct Foo
{
int i;
}
fn void foo(Foo f) {}
fn void a()
{
List{} a; // #error: must be instantiatied with generic module arguments
}
fn void b()
{
foo(Foo{}); // #error: 'Foo' is not a generic type
}
fn void c()
{
bar::test{}(); // #error: must be instantiatied with generic module arguments
}
fn int main()
{
return 0;
}
module bar{Type};
fn void test()
{}

View File

@@ -17,12 +17,12 @@ import std::collections::list;
fn void test1()
{
int x = values::test{}(); // #error: At least one generic parameter
int x = values::test{}(); // #error: must be instantiatied with generic
}
fn void test2()
{
List{Values{ }} v1s; // #error: At least one generic parameter
List{Values{ }} v1s; // #error: must be instantiatied with generic
}
fn void main()