92dae5d8a9
Substituting inferred type parameters with single substitutor leads to incorrect behaviour in cases, when class' type parameters are used in constructor. As a side effect of two-step substitution, intermediate descriptor is created, which prevents incorrect substitution. To preserve this side effect, single resulting substitutor was split into two substitutors: one for substituting fresh variables and another for substituting inferred variables and known parameters. ^KT-32415 Fixed