You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
use <http://www.example.com/> as ex;
type A {
ex:prop: A | &A
// ^^^^^^ this is _:0
}
type B {
ex:prop: A | &A
// ^^^^^^ this is _:1
}
The compiler raises an error because the two occurences of the same union type are given different blank node identifiers, so there is a type mismatch here. There are two issues at play here:
Semanticaly equivalent blank nodes are merged too late. They should be merged before the type checking phase.
A | &A is considered to be a union type even though it is in fact the type A with a different layout. If the union was properly erased, the previous issue should not interfere.
The text was updated successfully, but these errors were encountered:
Consider the following TreeLDR file:
The compiler raises an error because the two occurences of the same union type are given different blank node identifiers, so there is a type mismatch here. There are two issues at play here:
A | &A
is considered to be a union type even though it is in fact the typeA
with a different layout. If the union was properly erased, the previous issue should not interfere.The text was updated successfully, but these errors were encountered: