Erase non-reified type parameters by-default when inlining.
Substitution of type arguments to non-reified type parameters may lead to accidental reification, which should not be done (see ^KT-60174 for examples). So, we should erase them, except the few cases. ^KT-60174: Fixed ^KT-60175: Fixed
This commit is contained in:
committed by
Space Team
parent
29ecc4d987
commit
f318b5969d
@@ -213,10 +213,9 @@ private val functionInliningPhase = makeIrModulePhase(
|
||||
it,
|
||||
JsInlineFunctionResolver(it),
|
||||
it.innerClassesSupport,
|
||||
allowExternalInlining = true,
|
||||
useTypeParameterUpperBound = true,
|
||||
alwaysCreateTemporaryVariablesForArguments = true,
|
||||
inlineArgumentsWithTheirOriginalTypeAndOffset = true
|
||||
inlineArgumentsWithOriginalOffset = true,
|
||||
allowExternalInlining = true
|
||||
)
|
||||
},
|
||||
name = "FunctionInliningPhase",
|
||||
|
||||
Reference in New Issue
Block a user