Genericize unifier implementation to remove all special case handling for lists and ndarrays #444
Labels
No Milestone
No Assignees
1 Participants
Notifications
Due Date
No due date set.
Dependencies
No dependencies set.
Reference: M-Labs/nac3#444
Loading…
Reference in New Issue
No description provided.
Delete Branch "%!s(<nil>)"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
The unifier currently has several locations where there are special case handling for lists and ndarrays, including:
get_instantiations
,get_subst
,subst_map
- If we are instantiating a bounded type variable, we currently must use theTypeVarId
of the type variable rather than allowing the use of theTypeVarId
of the class type parameter.get_intersection
- The intersection forTObj
types are currently too lax, causing class types with different type variables to be treated as an intersection result. Moreover, handling forTLiteral
is currently missing, causingndarray
typechecks to fail.