77b3f415a5
There were several problems with it: 1) `isMoreSpecific` should return true if a == b. Otherwise `isMoreSpecificThenAllOf` would never return true because it's always invoked with a collection that contains the candidate. K1 behaves similarly, `OverridingUtil.isMoreSpecific` returns true if a == b. So in fact, "more" should be understood as "not less" here. 2) `transitivelyMostSpecificMember` in `selectMostSpecificMember` was always equal to the first element, so `isMoreSpecific` was invoked with incorrect arguments. 3) At the end of `selectMostSpecificMember`, we selected the first candidate with the non-flexible return type, however only dynamic type was considered. We need to check `isFlexible` via type system instead. #KT-66120 Fixed