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
From 668cb47, the order generics are bound when interacting with Dynamic during function resolution changes the result. On further inspection, this is likely caused by Dynamic subtype checks failing to bind nested generics (e.g. Dynamic <: List<T> should bind T = Dynamic, but currently leave it unbound). Two potential solutions come to mind:
Special-case Dynamic to continue subtype checks throughout the entire structure of the type, ensuring that any contained generics are eventually bound.
Bind any unbound generics at the end of resolution to their generic bound. This has a lot of question in relation to what the expected type should be that need to be considered, but it's probably better to assert that all generics end up bound by the end of resolution anyways.
The text was updated successfully, but these errors were encountered:
The order should always be bound generics first (to avoid overwriting existing
constraints) followed by Dynamic (to bind Dynamic before other types like Any).
This does not address test coverage over the types bound to generics which is
the larger issue that needs to be addressed here.
From 668cb47, the order generics are bound when interacting with Dynamic during function resolution changes the result. On further inspection, this is likely caused by Dynamic subtype checks failing to bind nested generics (e.g.
Dynamic <: List<T>
should bindT = Dynamic
, but currently leave it unbound). Two potential solutions come to mind:The text was updated successfully, but these errors were encountered: