lang: reject unbindable $T-only generic returns at declaration (audit follow-up)

This commit is contained in:
agra
2026-06-11 15:00:52 +03:00
parent 40805e08ec
commit ca5bd52262
5 changed files with 95 additions and 0 deletions

View File

@@ -0,0 +1 @@
1

View File

@@ -0,0 +1,17 @@
error: generic return type '$T' cannot be bound — 'make' has no parameter mentioning '$T', so no call site can infer it
--> examples/1165-diagnostics-generic-return-unbound.sx:10:15
|
10 | make :: () -> $T { 0 }
| ^^
error: generic return type '$T' cannot be bound — 'Foo.weird' has no parameter mentioning '$T', so no call site can infer it
--> examples/1165-diagnostics-generic-return-unbound.sx:14:30
|
14 | weird :: (self: *Foo) -> $T { 0 }
| ^^
error: generic return type '$T' cannot be bound — 'IntBox.leak' has no parameter mentioning '$T', so no call site can infer it
--> examples/1165-diagnostics-generic-return-unbound.sx:21:32
|
21 | leak :: (self: *IntBox) -> $T { 0 }
| ^^