Boolean comparison causes extremely slow compilation

== is one of the operators with the most overloads in the standard library (over 70 overloads!), and currently the type checker is not very good at filtering out choices that won't work with the given argument types, so it ends up trying way too many of them even when it has enough information to narrow the choices down. Operator type checking performance is something we're actively working to improve.

21 Likes