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
We have a handful of cases in inference where we look up functions by
name (using `istopfunction`) and give them special behavior. I'd like to
remove these. They're not only aesthetically ugly, but because they
depend on binding lookups, rather than values, they have unclear
semantics as those bindings change. They are also unsound should a user
use the same name for something differnt in their own top modules (of
course, it's unlikely that a user would do such a thing, but it's bad
that they can't).
This particular PR removes the special case for `!`, which was there to
strengthen the inference result for `!` on Conditional. However, with a
little bit of strengthening of the rest of the system, this can be
equally well evaluated through the existing InterConditional mechanism.
0 commit comments