01ad9c47c8
Consider a call like `select(1, "")`, the resulting type for it is Comparable<Int & String> & Serializable. After variable fixation, the compiler incorporates this type into the constraint system to check for a contradiction, so it checks applicability of argument to the resulting type. In other words, for the above call it checks is `Comparable<Int & String> & Serializable` subtype of `IntegerLiteralType`? Which ends up in checking is `IntegerLiteralType` subtype of `Int & String`. Before this commit, such check was leading to the false result, but because of losing diagnostic (which was fixed in the previous commit: 29f591b1), there was no error