Correctly compile unified recursive tag unions

This commit is contained in:
Ayaz Hafiz 2022-07-08 17:31:41 -04:00
parent 8c5f798f4e
commit 808d19b01b
No known key found for this signature in database
GPG key ID: 0E2A37416A25EF58
7 changed files with 84 additions and 14 deletions

View file

@ -1,6 +1,6 @@
procedure List.5 (#Attr.2, #Attr.3):
Error UnresolvedTypeVar crates/compiler/mono/src/ir.rs line 5030
Error UnresolvedTypeVar crates/compiler/mono/src/ir.rs line 5035
procedure Test.0 ():
let Test.1 : List {} = Array [];
Error UnresolvedTypeVar crates/compiler/mono/src/ir.rs line 4557
Error UnresolvedTypeVar crates/compiler/mono/src/ir.rs line 4562

View file

@ -0,0 +1,5 @@
procedure Test.0 ():
let Test.9 : [<rnu><null>, C List *self] = TagId(1) ;
let Test.10 : [C List [<rnu><null>, C List *self], C U16, C ] = TagId(2) ;
let Test.12 : {[<rnu><null>, C List *self], [C List [<rnu><null>, C List *self], C U16, C ]} = Struct {Test.9, Test.10};
ret Test.12;

View file

@ -0,0 +1,3 @@
procedure Test.0 ():
let Test.5 : [<rnu><null>, C List *self] = TagId(1) ;
ret Test.5;