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
different 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