Use a separate type for a parameterized entity name that is waiting for its arguments to arrive. (#1223)

Previously we modeled these as being class types or interface types, with special case checks to treat them as not actually being class or interface types.
This commit is contained in:
Richard Smith
2022-05-05 14:30:18 -07:00
committed by GitHub
parent 56604322f0
commit a2176e1e28
9 changed files with 184 additions and 152 deletions
+1 -1
View File
@@ -13,7 +13,7 @@ package ExplorerTest api;
interface Vector(Scalar:! Type) {
}
// CHECK: COMPILATION ERROR: {{.*}}/explorer/testdata/impl/fail_impl_as_parameterized.carbon:[[@LINE+1]]: missing arguments for parameterized interface
// CHECK: COMPILATION ERROR: {{.*}}/explorer/testdata/impl/fail_impl_as_parameterized.carbon:[[@LINE+1]]: expected constraint after `as`, found value of type Vector
external impl i32 as Vector {}
fn Main() -> i32 {