[NI] Introduce feature for passing function references with defaults

Relates to KT-8834, we continue reducing differences between old and new
 inference. Note that as for `SamConversionPerArgument`, this feature
 is enabled in the compiler and not in the IDE to avoid breaking code
 for those users that already enabled new inference in the compiler
This commit is contained in:
Mikhail Zarechenskiy
2019-08-07 10:09:12 +03:00
parent 0219b86d06
commit 04e57f712e
29 changed files with 171 additions and 23 deletions
@@ -123,15 +123,14 @@ enum class LanguageFeature(
MultiPlatformProjects(sinceVersion = null, defaultState = State.DISABLED),
NewInference(sinceVersion = KOTLIN_1_3, defaultState = State.DISABLED),
// This feature can be enabled only along with new inference, see KT-26357 for details
BooleanElvisBoundSmartCasts(sinceVersion = KOTLIN_1_3, defaultState = State.DISABLED),
// In the next block, features can be enabled only along with new inference
BooleanElvisBoundSmartCasts(sinceVersion = KOTLIN_1_3, defaultState = State.DISABLED), // see KT-26357 for details
SamConversionForKotlinFunctions(sinceVersion = KOTLIN_1_3, defaultState = State.DISABLED),
SamConversionPerArgument(sinceVersion = KOTLIN_1_3, defaultState = State.DISABLED),
// can be used only with NewInference feature
NewDataFlowForTryExpressions(sinceVersion = KOTLIN_1_3, defaultState = State.DISABLED),
FunctionReferenceWithDefaultValueAsOtherType(sinceVersion = KOTLIN_1_3, defaultState = State.DISABLED),
// ------
// Next features can be enabled regardless of new inference
InlineClasses(sinceVersion = KOTLIN_1_3, defaultState = State.ENABLED_WITH_WARNING, kind = UNSTABLE_FEATURE),