Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
This PR contains the following updates:
1.6.0-native-mt->1.6.1-native-mt1.6.10->1.6.211.6.10->1.6.21Release Notes
Kotlin/kotlinx.coroutines
v1.6.1Dispatchers.Main.This behavior was introduced in 1.6.0 and then found inconvenient and erroneous (#3106, #3113).
CopyableThreadContextElementto solve issues uncovered after the initial release (#3227).ThreadLocalElementnot being properly updated in racy scenarios (#2930).CoroutineExceptionHandlerthat triggered ANR on some devices (#3180).CoroutineDispatcherto a Rx scheduler (#968, #548). Thanks @recheej!flowbuilder being retained in memory (#3197).limitedParallelismon K/N with new memory model throwingClassCastException(#3223).CoroutineContextis added to the exception printed to the defaultCoroutineExceptionHandlerto improve debuggability (#3153).Dispatchers.Defaultwas significantly reduced (#3137).kotlinx-coroutines-slf4jfrom 1.7.25 to 1.7.32.JetBrains/kotlin
v1.6.21Compare Source
Changelog
Compiler
KT-51979"AssertionError: No modifier list, but modifier has been found by the analyzer" exception on incorrect Java interface overrideKT-51893Duplicated [OVERRIDE_DEPRECATION] on overridden propertiesKT-51927Native:The symbol of unexpected type encountered during IR deserializationerror when multiple libraries have non-conflicting declarations with the same nameKT-51843Functional interface constructor references are incorrectly allowed in 1.6.20 without any compiler flagsKT-51672JVM IR: Inline class mangling issue in interface default methods split across multiple modulesKT-51711Compiler warning is displayed in case there is 'if' else branch used with elvisKT-49317"IllegalStateException: Parent of this declaration is not a class: FUN LOCAL_FUNCTION_FOR_LAMBDA" with parameter of suspend type with the default parameterIDE. Native
KTIJ-20819Native debugging support: "Debug is impossible without lldb binaries required by Kotlin/Native" on "Attach to process"JavaScript
KT-52010K/JS IR: both flows execute when using elvis operatorKT-51973KJS / IR overridden properties of inherited interface missingKT-50504KJS / IR: Transpiled JS incorrectly uses the unscrambled names of internal fieldsTools. Gradle
KT-51837kotlin-gradle-plugin:1.6.20 fails xray scan on shadowed Gson 2.8.6.Tools. Gradle. Multiplatform
KT-51810MPP / Gradle: Dependency locking fails with 1.6.20KT-51765com.android.lint in multiplatform project without android target should not trigger warningChecksums
v1.6.20Compare Source
Compiler
New Features
KT-48217Add an annotation JvmDefaultWithCompatibility to allow generating DefaultImpls classes if -Xjvm-default=all option is usedKT-49929[FIR] Support programmatic creation of annotation class instancesKT-49276Warn about potential overload resolution change if Range/Progression starts implementing CollectionKT-47902Do not propagate method deprecation through overridesKT-49857Require Xcode 13 for building Kotlin/Native compilerKT-47701Support instantiation of annotation classes on NativeKT-46085Support experimental parallel compilation of a single module in the JVM backendKT-46603Generate SAM-conversions to Java interfaces extending 'java.io.Serializable' as serializable using java.lang.invoke.LambdaMetafactoryPerformance Improvements
KT-50156HMPP: Slow frontend/ide performance in OKIO (ExpectActualDeclarationChecker)KT-50073Performance regression in adapted function referencesKT-50076Performance regression in super call to an interface member in $DefaultImplsKT-50080Performance regression in string template with generic property with primitive upper boundKT-50084Performance regression in concatenation with 'String?'KT-50078Performance regression in for-in-array loopKT-50039Performance regression in inner class constructor call with default parametersKT-48784An anonymous class has fields for variables that are only used in the constructorKT-42010Generate IINC instruction for postfix increment in JVM_IRKT-48433JVM_IR don't generate null check on 'this$0' parameter of inner class constructorKT-48435JVM_IR ConstForLoopBenchmark performance regressionKT-48507JVM_IR ForLoopBenchmark regressionsKT-48640Performance regression in 'longDownToLoop' benchmarksKT-29822Generate specialized bytecode for loops withIndex over unsigned arraysKT-48669Generate optimizable counter loop for loops over indices of unsigned arraysKT-49444Possible performance degradation with UInt downTo loopKT-48944Possible performance regression with comparison of local KFunctionsKT-17111Eliminate redundant store/load instructions when the value stored is simpleKT-36837Generate more compact code for for-in-range loop in JVM_IRKT-48947JVM / IR Possible performance regression with string templatesKT-48931JVM / IR: Performance degradation with string concatenationKT-36654Generate more compact bytecode for safe call in JVM_IRFixes
KT-24643Prohibit using a type parameter declared for an extension property inside delegateKT-51747MakeKtCallableDeclaration.getContextReceiversdefault to preserve compatibilityKT-49658NI: False negative TYPE_MISMATCH on nullable type withwhenKT-43493NI: @BuilderInference prevents compilation error of "Operator '==' cannot be applied to 'Long' and 'Int'"KT-51649Kotlin/Native: reduce binary size of watchosArm32 and iosArm32 targets by limiting inlining of runtime functionsKT-48626JVM IR: incorrect behavior for captured for-loop parameter since 1.6.20-dev-723KT-51036JVM / IR: "NullPointerException: Parameter specified as non-null is null" with synchronized and companion objectKT-51471Native: incorrect debug information when inheriting suspend fun invoke implementationKT-51352"ClassCastException: class ScopeCoroutine cannot be cast to class Iterable" caused by coroutines and context receiversKT-51271"ArrayIndexOutOfBoundsException: Index 3 out of bounds for length 3" with inlining of context functionKT-47084JVM IR: "AssertionError: inconsistent parent function for CLASS LAMBDA_IMPL" with tailrec function default parameter nested inline lambdaKT-30616Script: "Don't know how to generate outer expression" for top-level variable reference from static context (companion object, enum)KT-50520"NPE: containingDeclaration.ac…lDeclarationType.REGULAR) must not be null" with implicit type on self-referencing lambda in a builderKT-51353IncompatibleClassChangeError: Expected non-static field com.soywiz.korim.color.Colors.BLACKKT-48945JVM IR: special bridge forgetis not generated in a Map subclassKT-48499Interface call with an inline/value parameter generates AbstractMethodError after rebuilding the module, but NOT the file.KT-49998JVM: missing default value for annotation parameter of an unsigned typeKT-49793JVM:IncompatibleClassChangeError: Expected non-static fieldwhen property delegation uses receiver of another delegated propertyKT-51302Kotlin/Native 1.6.20-M1 compiler fails because of assertion in NativeAnnotationImplementationTransformerKT-51148"AssertionError: At this stage there should be no remaining variables with proper constraints" caused by two type parametersKT-50970Kotlin/Native: use arm instruction set instead of thumb-2 for iosArm32 and watchosArm32 targetsKT-50843Kotlin/Native: LLVM constant merge pass does not work for Kotlin constantsKT-51157JVM / IR: "IndexOutOfBoundsException: Index: 1, Size: 1" caused by interface hierarchy and UInt method parameterKT-50498Exception after analysing an erroneous lambdaKT-50258equals()returnsfalseon the same enum instances if we check it for the second time inwhenKT-51062Progressions resolve changing warning isn't reported for Java methodsKT-48544JVM / IR: "UnsupportedOperationException: Unknown structure of ADAPTER_FOR_CALLABLE_REFERENCE" with callable reference::arrayOfKT-50978[Native] Error while building static cache: NoSuchElementException at IrTypeInlineClassesSupport.getInlinedClassUnderlyingType(InlineClasses.kt:341)KT-50977[Native] Error while building static cache: IllegalStateException: Class CLASS ENUM_ENTRY is not found at KonanIrlinkerKt.findClass(KonanIrlinker.kt:229)KT-50976[Native] Error while building static cache: IllegalStateException: No descriptor found at DescriptorByIdSignatureFinder.findDescriptorForPublicSignature(DescriptorByIdSignatureFinder.kt:157)KT-51040Type inference fails on 1.6: "Cannot use 'CapturedType(*)' as reified type parameter" with EnumSet and elvis operatorKT-51080Line number in mapping for the first instruction is lostKT-49526JVM IR: Function reference with non-denotable intersection type argument is not inlined and is incorrectly approximatedKT-50399Error: unexpected variance in super type argument: out @0KT-50649JVM IR: ClassCastException when returning Result as generic typeKT-50617JVM IR: java.lang.IndexOutOfBoundsException "Empty list doesn't contain element at index 0" when class and interface have the same name and extension function is usedKT-50856SAM conversion generates invalid bytecode for genericsKT-45693False negative INCOMPATIBLE_TYPES withwhenwith generic subjectKT-49903JVM IR: InlineOnly optimization leads to behavior change for println with mutating System.outKT-51022Fix error messages for resolution ambiguity with stub typesKT-51035PSI2IR: "org.jetbrains.kotlin.psi2ir.generators.ErrorExpressionException: null: KtCallExpression:" caused by recursive call of java functionKT-50797Implement fix for false negative UPPER_BOUND_VIOLATED with generic typealias using not all type parameters as arguments for underlying typeKT-50878Usage of contextual declarations from third-party library is allowed without-Xcontext-receiversKT-49829Wrong "cast can never succeed" diagnostic with builder inferenceKT-49828Improve builder inference diagnostics with overload resolution ambiguityKT-50989CCE cause by EmptySubstitutor in ResolutionWithStubTypesCheckerKT-49729Implement deprecation warning for private constructors of sealed classesKT-49349Implement deprecation for invalid if as expression in rhs of elvisKT-46285[SEALED_SUPERTYPE_IN_LOCAL_CLASS] Error message isn't adopted to local objects and sealed interfacesKT-49002Allow OptIn marker on override if base class has the same markerKT-48899Report warnings on overrides with wrong types nullabilityKT-49461Implement prohibitation of access to members of companion of enum class from initializers of entries of this enumKT-49754Kotlin/JS: @JsExport on enum class reports NON_EXPORTABLE_TYPE warningKT-49598Misleading error message "Using @JvmRecord is only allowed with -jvm-target 15 and -Xjvm-enable-preview flag enabled"KT-44133Inline classes: class literal in annotation arguments uses underlying typeKT-47703ClassCastException: Programmatically created annotation can't hold Array<KClass<*>>KT-47549JVM / IR: Null argument in ExpressionCodegen for parameter VALUE_PARAMETER CONTINUATION_CLASS caused by suspend function inside "fun interface" in another fileKT-50120HMPP: False positive [NO_VALUE_FOR_PARAMETER] for expect function usagesKT-49864JVM IR: NoSuchMethodError calling default interface method with inline class return type in -Xjvm-default=all modeKT-49812JVM / IR: "java.lang.VerifyError: Bad return type" when using Result type attribute + extension function with same nameKT-49936Extension property in a data class with the same name as the constructor parameter leads to incorrect component function being resolved and generatedKT-48181"ISE: Null argument in ExpressionCodegen for parameter VALUE_PARAMETER" on creating instance of kotlin.MetadataKT-50215VerifyError caused by missing cast after is check in whenKT-49977"Parameter specified as non-null is null" when inline class implements interface method with default parametersKT-50385DUPLICATE_LABEL_IN_WHEN is reported on incorrect branchesKT-49092JVM: ArrayIndexOutOfBoundsException on compiling call withifexpression and TODO() argumentsKT-48987JVM / IR: Smartcast, which never succeed, crashes the compilerKT-50277Invalid bytecode generated for inline lambda in suspend functionKT-50219FIR DFA/CFA: no smart cast after null check and assignmentKT-44561FIR DFA: extract non-null info from comparison against variable with initial constant valueKT-44560FIR DFA: propagate non-null info to original variables in not-null assertion or cast expressionKT-50278FIR: accidental resolve to inaccessible value parameterKT-47483JVM IR: "NoSuchElementException: Sequence contains no element matching the predicate" on compiling Array instantiation with TODOKT-50304EXC_BAD_ACCESS at IntrinsicsNative.kt starting coroutine on object with suspend fun as supertypeKT-49765JVM: ClassCastException when trying to add object to EmptyListKT-46879"AssertionError: Stack should be spilled before suspension call" with Flow and reified typeKT-50172"AssertionError: Not a callable reflection type" on local function reference with the same name as local variableKT-49443JVM IR, Script: "IllegalStateException: No mapping for symbol: VALUE_PARAMETER INSTANCE_RECEIVER" with constructor call of class that has a top-level extension function callKT-50193Garbage collection is not working the same way after jvm-ir-backend changeKT-19424Compilation exception for script with property delegate calling operator invoke on an objectKT-43995Script: "IllegalStateException: No mapping for symbol: VALUE_PARAMETER INSTANCE_RECEIVER" if companion object initializer calls method on listKT-47000Allow graceful migration to -Xjvm-default=all-compatibility by allowing to inherit from interfaces even in the old (-Xjvm-default=disable) modeKT-50180FIR: not enough information to infer type variable for definitely not null typeKT-50163FIR: ISE unsupported compile-time value BLOCK on complex annotationsKT-50171JVM IR: "UninitializedPropertyAccessException: Parent not initialized: IrVariableImpl" on SAM-converted property setter reference with Double parameter inside lambdaKT-50140Internal error on explicit string concatenation of generic type value with 'String' upper boundKT-49992Anonymous object should not have access to private members from supertypesKT-49973Check existing of default error message for all diagnosticsKT-50019Property delegated to callable reference: "ISE: Local class should have its name computed in InventNamesForLocalClasses" with -Xno-optimized-callable-referencesKT-49645JVM / IR: "IllegalStateException: Local class should have its name computed" caused by default suspend function in interface and value classKT-50028Incorrect implicit casts from UnitKT-49615JVM / IR: "Exception during IR lowering" with list of value classes with non-trivial constructor inside suspend lambdaKT-49127FIR: smart cast is not performed after comparisonKT-48708Incorrect cast from Unit to IntKT-48376FIR: False positive UNITIALIZED_VARIABLE after try/finally with return from tryKT-48113FIR: (false) positive EQUALITY_NOT_APPLICABLE for intersection with platform typeKT-48305FIR: incorrect raw type castKT-48378FIR: synthetic accessor lowering should not attempt to modify other filesKT-48634FIR: false property-setter-function resolve cycleKT-48621FIR: SyntheticAccessorLowering should not attempt to modify other files for protected JvmFieldKT-48381Invalid LLVM module: verification failure of createInlineClassInArgumentPosition.ktKT-48527Native: top-level properties in files with @Test functions are initialized eagerly even if lazy initialization is enabledKT-48559IllegalArgumentException: Unexpected super type argument: * @ 0 during IR loweringKT-48687IR dump mismatch after deep copy with symbols in IR text testKT-44811[FIR] Exception in body resolve of new contractsKT-48363FIR behaves differently in case of resolution between classifier and top-level propertyKT-48801"AssertionError: Stack should be spilled before suspension call" with Flow and crossinlineKT-46389JVM / IR: "ClassCastException: class IrGetValueImpl cannot be cast to class IrConst" with inheritance of supertypes member functions with similar signaturesKT-47797Regression during migration to 1.6 in compilerKT-47987Can't infer a postponed type variable based on callable reference receiver typeKT-48446"IllegalStateException: IrErrorType (getErasedUpperBound)" caused by suspend function referenceKT-48651Collect intermediate annotations during type expandingKT-48754JVM IR: in EnclosingMethod leads to IncompatibleClassChangeError on Android 5.0KT-45034Use the new type inference for top-level callable referencesKT-49001OptIn marker should spread from class to its members, taking into account real dispatch receiver typeKT-49038Generics are discriminated during callable references resolution (false negative)KT-48954JVM IR: IllegalAccessError when using Java method reference in constructorKT-48284JVM / IR: "IllegalStateException: Function has no body: FUN STATIC_INLINE_CLASS_REPLACEMENT" caused by inline member toString of value class and string interpolationKT-49053JVM / IR: "AssertionError: Unbound symbols not allowed" on inheriting a protected Java method that returns a package private class from a differently-named fileKT-49106JVM: infinite recursion with overridden default suspend interface method where override calls superKT-45345FIR DFA:FirDataFlowAnalyzerseems to add wrong type constraints for type parametersKT-44513FIR DFA: extract non-null info from x?.y!!KT-44559FIR DFA: propagate non-null info from not-null assertion (!!)KT-49073FIR: REDUNDANT_MODIFIER and DEPRECATED_MODIFIER_PAIR should be warningsKT-46371FIR: Investigate FunctionType -> ExtensionFunctionType coercionKT-49078FIR: false positive TYPE_VARIANCE_CONFLICTKT-47135FIR: local class references does not compileKT-48600NON_TAIL_RECURSIVE_CALL missing for calls inside lambdaKT-48602NON_TAIL_RECURSIVE_CALL missing for calls with explicit dispatch receiver to a singletonKT-48982JVM / IR: KotlinNothingValueException caused by function with local objectKT-49087FIR: false positive REPEATED_ANNOTATIONKT-48648JVM IR: "AssertionError: Should be primitive or nullable primitive type" with @JvmField generic property with Number upper boundKT-49069FIR: False positive INAPPLICABLE_JVM_NAME on getterKT-49203JVM IR: "AssertionError: Unbound symbols not allowed" with lateinit var andplusAssignoperator convention callKT-48993JVM / IR: "IllegalStateException: Validation failed in file <multi-file facade ...>" using @JvmMultifileClass and one of the symbols in the file exposes a @JvmInline value classKT-48938FIR: Investigate how priorities should work in case SAM-conversion + type parametersKT-49129FIR: false positive of INNER_CLASS_OF_GENERIC_THROWABLE_SUBCLASSKT-49076FIR: false positive "An annotation argument must be compile-time constant" on array of importsKT-49222FIR: StackOverflow in MethodSignatureMapperKT-49083FIR erroneously requires default value parameters for override calls when imported from objectKT-49135FIR: ambiguity between type alias and functionKT-49134FIR makes no difference between lambda with empty parameter list and without explicit parameter listKT-49301FIR: Unresolved reference: for object inherited from inner classKT-49070FIR: ABSTRACT_CLASS_MEMBER_NOT_IMPLEMENTED with type parameter / class conflictKT-49133FIR: protected java.lang.Throwable constructor is not availableKT-49407JVM / IR: "java.lang.VerifyError: Bad local variable type" with "Int.mod" inside "Long.mod" and non-trivial argumentKT-44975SUBCLASS_CANT_CALL_COMPANION_PROTECTED_NON_STATIC: confusing error messageKT-38698MANY_INTERFACES_MEMBER_NOT_IMPLEMENTED error message: interface is called a "class"KT-45001Confusing warning message "This class can only be used with the compiler argument" for @OptIn annotationKT-49411JVM / IR: NullPointerException during IR lowering with @JvmField property in loop rangeKT-49260FIR: make FirBasedSymbol hierarchy to correspond FirDeclaration hierarchyKT-49289FIR: false positive "return required" for if/else with inlined return in branchKT-49316JVM / IR: "AssertionError: SyntheticAccessorLowering should not attempt to modify other files!" caused by unreachable code which try to modifyvalfrom the other packageKT-45915NoDescriptorForDeclarationException: Descriptor wasn't found for declaration FUN with circular module dependencies in JPSKT-49288FIR2IR: consider generating all fake override calls properlyKT-42784FIR2IR: first create fake overrides, then bind overridden to themKT-48816Kotlin/Native Symbol for public platform.darwin/NSObject|null[100] is unboundKT-49372JVM / IR: Incorrect work of the loop optimization for mutable variableKT-49356Native: UnsupportedOperationException: RETURNABLE_BLOCK caused by nested return with boxing and inlineKT-49659JVM IR: Missing value class mangling in SAM wrappers for fun interfaces from different modulesKT-47101Incorrect scope for supertypes in companion objectsKT-49360Invalid LLVM module: "inlinable function call in a function with debug info must have a !dbg location"KT-48430JVM: ClassCastException with inline class as generic argument for type parameter used in a function typeKT-49575IllegalArgumentException: Unhandled intrinsic in ExpressionCodegen with circular module dependencies in JPSKT-47669IR inliner doesn't handle inner class functions referring outer thisKT-48668JVM IR: "ISE: Value at CLASS must not be null for CLASS" for modules with a dependency cycleKT-49370JVM / IR: "java.lang.VerifyError: Bad local variable type" with "fun Long.mod" and non-trivial argumentKT-46744Memory Leaks in Kotlin daemonKT-48806False-negative USED_AS_EXPRESSION for unreachable catch clausesKT-45972FIR: type is incorrectly resolved to privateKT-46968Remove FirCompositeScope from type resolveKT-49072FIR: accidental resolve to private-in-file typeKT-34822FIR scopes: deal with nested / inner classes and type parameter priorityKT-49702Exception from RENDER_WHEN_MISSING_CASES diagnostic on malformed sealed class inheritorKT-49860[FIR] Add smartcast expression to syntheticsubjaccessKT-49836Inference fails on lambda and adjacent function expressions with receiverKT-49832Inference fails on lambda for function types with extension parameterKT-44022Excessive diagnostics range for DECLARATION_CANT_BE_INLINEDKT-48690VERSION_REQUIREMENT_DEPRECATION_ERROR message: use current compiler version instead of language versionKT-49609Incorrect grammar in DATA_CLASS_NOT_PROPERTY_PARAMETER error messageKT-49600Misspelled error message for non-constructor properties with backing fields in @JvmRecord classKT-49339Warn about synchronizing on value classesKT-49950Compilation failed: An operation is not implemented: IrBasedTypeParameterDescriptorKT-43604Problem with initialization orderKT-23890Default arguments are not transferred from expect generic member functionsKT-48811Expect/actual class with default constructor argument values can not be instantiated from a shared source set without passing arguments (with HMPP enabled)KT-48106FIR: incorrect type inference in provideDelegate receiverKT-48325Safe call operator prevents object from being garbage collected before leaving functionKT-50004Linking kotlinx.serialization crashes on Native and JS IR backendsKT-49311Missing FIR checker for unresolved references in import statementKT-48104FIR does not see NotNull/Nullable annotations on type argumentsKT-46812[FIR] Make FIR diagnostics not related to Diagnostics from FE 1.0KT-37374[FIR] AddCheckInfixModifierresolution stageKT-38351FIR: SupportCheckOperatorModifierresolution stageKT-39614[FIR] Fix building CFG for different candidates of plus assign callKT-40197[FIR] Strange Behaviour of Type ArgumentsKT-40362[FIR] Match type arguments with type parameters of corresponding qualifierKT-40375FIR: No transformation implicit type -> error type for function value parametersKT-40585[FIR] Incorrect type for 1/1.0KT-42525[FIR] Incorrect IR produced for java.lang.Byte.MAX_VALUEKT-43359FIR: Check applicability type for callable reference with unbound receiverKT-43378FIR: Support or prohibit via call checker callable references to member extensionsKT-43289FIR: Correctly load irrelevant override for special built-insKT-44558Annotation arguments const expr support is missing in FIRKT-45223[FIR] Ambiguity between explicit and syntheticremoveAtKT-42215FIR: callable reference resolution with type constraints at call-sitesKT-45520FIR: NONE_APPLICABLE for unsafe call to function with overloads instead of UNSAFE_CALLKT-46410[FIR] Transform of FirAugmentedArraySetCall leaves erroneous nodes in control flow graphKT-46421FIR: Investigate builder-inference casesKT-43948FIR: hidden unresolved callable referenceKT-46558FIR DFA: run once contract is not considered when analyzing lambdaKT-47125FIR: Do not avoid trivial constraints if they aren't from upper boundsKT-43691FIR: false positive VARIABLE_INITIALIZER_IS_REDUNDANT with usage in try...finallyKT-37311[FIR] Support inference of callable references with type variable as expected typeKT-31972Error type encountered: org.jetbrains.kotlin.types.ErrorUtils$UninferredParameterTypeConstructor@1f5b38c(ErrorType).KT-48761Report NO_TAIL_CALLS_FOUND on 'tailrec' modifier, not on the whole function headerKT-47647NI: Function reference to Java static method can't compile if passed directly as KFunction1 parameterKT-46995Fix setters implicit types only resolved on full body resolveKT-46359Kotlin 1.5 lambda is not Java-serializable by defaultKT-49282FIR: suspend conversion does not work inside suspend lambdaKT-48953FIR: implement diagnostic DELEGATE_USES_EXTENSION_PROPERTY_TYPE_PARAMETERKT-38813FIR: Report INSTANCE_ACCESS_BEFORE_SUPER_CALL diagnostic on receiver usages in secondary constructors headersKT-49657FIR: accidental override with get:JvmNameKT-49655FIR: smart cast is not performed after update of var to not-null value in branchDocs & Examples
KT-51086[Docs] [Build Tools] Allow to configure additional jvm arguments for 'KaptWithoutKotlincTask`KT-50563[Docs] [Build Tools] Deprecate kotlin.experimental.coroutines Gradle DSL option and kotlin.coroutines propertyKT-50580[Docs] [Kotlin/Native] Support instantiation of annotation classes on NativeKT-50874[Docs] [Language] Add ability to specify generic type parameters as not-nullKT-50564[Docs] [K/JS] Ensure that @AfterTest is invoked after the @Test function completes for asynchronous testsIDE
New Features
KTIJ-20169Link to What's new in a notification about new Kotlin versionPerformance Improvements
KTIJ-20568Optimize SubpackagesIndexService#hasSubpackagesFixes
KTIJ-13020New compiler settings are applied only after the project is reloadedKTIJ-21154StackOverflowError on Companion.extractPotentiallyFixableTypesForExpectedType that causes "Syntax highlighting has been temporarily turned off"KTIJ-20129Load "@NotNull T" types from libraries as definitely non-nullable if any module in project loads such types as definitely non-nullableKTIJ-9793UAST: KotlinAbstractUElement.equals fails for psi-less elementsKTIJ-16203UAST: Annotating assignment expression sometimes leads to UnknownKotlinExpressionKTIJ-18720UAST: @Deprecated(level=DeprecationLevel.HIDDEN) makes method visibility be droppedKTIJ-18039@Deprecated(level=HIDDEN) elements return false for isDeprecated()KTIJ-18716KotlinUMethodWithFakeLightDelegate.hasAnnotation() doesn't find annotationsKTIJ-20220Kotlin plugin crashes very oftenKTIJ-20308Syntax highlighting is temporary suspended for file ... due to internal errorKTIJ-6085ExceptionIncorrect CachedValue...with KtUltraLightMethodForSourceDeclarationKTIJ-18977Do not show warningOutdated bundled kotlin compilerif there are no compatible plugin with newer compilerKTIJ-20253Consider supporting special highlighting for definitely non-null typesKT-42194OOME: Java heap space from incremental compilationKTIJ-13019"Add '-Xopt-in=kotlin.io.path.ExperimentalPathApi' to module untitled1 compiler arguments" only works until the project is reloadedIDE. Completion
KTIJ-20095Optimize FilterOutKotlinSourceFilesScope#containsKTIJ-16250Completion of override with return type annotated with TYPE_USE-targeted annotation suggests two duplicate entriesIDE. Debugger
KTIJ-20716JVM Debugger in common code can't get JVM-specific view on common code and failsKTIJ-18562JVM debugger: coroutineContext.job causes "Failed to generate expression: KtNameReferenceExpression"KTIJ-20019MPP Debugger: NSFE “Field not found” on accessing property with explicit getter from common code in Evaluate expression/WatcherKTIJ-19990MPP Debugger: Evaluate expression for some stdlib in common source set fails with Method threw 'java.lang.ClassNotFoundException' exception.KTIJ-20929MPP Debugger: in a project with single JVM target evaluation of expect function fails with 'NoSuchMethodError' exception in common contextKTIJ-20956Debugger: coroutine debugger fails to load sometimesKTIJ-20775MPP Debugger: Evaluate expression for actual typealiases in jvm source set fails with Method threw 'java.lang.ClassNotFoundException' exception.KTIJ-20712MPP Debugger: evaluator fails when evaluating expect functionKTIJ-19344K/N debugger shows all types as ObjHeader in variable view.IDE. Gradle Integration
KTIJ-20097HMPP+Android Project that depends on pure Android Lib fails to import in IDEAKTIJ-20756MPP targeting Android and JVM reports 'The feature "multi platform projects" is experimental and should be enabled explicitly'KTIJ-20745Gradle: NSEE “Key main is missing in the map.” on project import in AS 212 + Kotlin 1.6.20KT-47570MPP, IDE: kotlin-test-common leaks into dependencies of platform-specific source setsKTIJ-19541IDE: Kotlin Facets aren't created for Gradle projects added viaincludeBuildKT-48882MPP IDE import: Failing cinterop Gradle tasks shall not fail importKTIJ-18135MPP, IDE: False positive "No value passed for parameter" in CommonTest when expect declaration has default value and actual does notIDE. Inspections and Intentions
New Features
KTIJ-12437Add inspection to detect redundant (obsolete, unused) @OptIn annotationsKTIJ-15780Add quickfix for migration of Experimental -> RequiresOptInKTIJ-18865Provide quick fixes for OptIn markers on forbidden targetsKTIJ-18439Make suggestions for applying opt-in quickfixes more distinctKTIJ-19985Provide quickfix for SAFE_CALL_WILL_CHANGE_NULLABILITY diagnosticFixes
KTIJ-20550False positives in "Unnecessary '@OptIn' annotation" inspectionKTIJ-20993Quick-fix for NULLABILITY_MISMATCH_BASED_ON_JAVA_ANNOTATIONS leads to unreachable codeKTIJ-20557Quick fix to addAnyas an upper bound for type parameter to make it non-nullableKTIJ-20827Process type mismatch compiler warnings to provide a corresponding quick fixKTIJ-12578"Make abstract" quick fix for missing abstract members implementations could warn of potentially broken inheritanceKTIJ-20425Quick fix to replace@NotNullparameter typeTwith a definitely non-nullable typeT & AnyKTIJ-19997Inspection "Possibly blocking call in non-blocking context could lead to thread starvation" suggests "Wrap call in 'withContext'" resulting in red codeKTIJ-18291Quickfix "Add @OptIn() annotation" adds the annotation to primary constructor when invoked on primary constructor parameterKTIJ-19512Implement IDE support for new rules of deprecation inheritanceKTIJ-20156Exception when applying 'Convert to with'KTIJ-20290Forbid "move to constructor" intention if class contains secondary constructorKTIJ-20288Forbid "move to constructor" intention for actual classes with actual constructorKT-49736Introduce import alias fails when qualifier is unresolvedKTIJ-18743"Redundant nullable return type" applied onactualmethod doesn't change the signature ofexpectKTIJ-12343Inspection "Sealed sub-class has no state and no overridden equals" is applied incorrectly to expect/actual declarations of sealed classes with nested subclassesKTIJ-19406The "Add @OptIn(...)" quick fix does not shorten the annotation when adding an argument to the existing annotationKTIJ-12351generate equals & hashCode() by identityintention generates incompilable code for multiplatform project modulesKTIJ-13227Forbid "move property to constructor" for actual classes with actual constructor having at least one parameter alreadyKTIJ-11328No quick fixes are suggested for annotation from experimental API used with file targetKTIJ-14427Meta-annotation value isn't updated for all the corresponding parts of a multiplatform annotationKTIJ-19735NSME org.jetbrains.kotlin.idea.quickfix.KotlinSingleIntentionActionFactory org.jetbrains.kotlin.idea.quickfix.RemoveModifierFix on IJ212 + Kotlin masterIDE. Navigation
KTIJ-18145IDE freeze on 'Show Usage'IDE. Refactorings. Extract Function
KTIJ-10026Refactor / Extract function: Adds unnecessary nullability annotations for parameters coming fromNotNullorNullableJava methodsKTIJ-15823Refactor / Extract Function: resulted declaration gets no @OptIn from original function when necessaryIDE. Refactorings. Move
KTIJ-5661[Tests] MoveRefactoring: Fix ignored incorrect tests of crossmodule declaration movingIDE. Wizards
KTIJ-19232New project wizard: delete MPP Mobile-Library and Application templatesKTIJ-20878Unable to create project with Kotlin Project Wizard when JDK 17 is used.KTIJ-20244Compose MPP project from wizard requires minCompileSdk=31KTIJ-20781Update kotlin-wrappers version in wizardJS. Tools
KT-47387KJS: Support Apple Silicon for node distrib downloadJavaScript
New Features
KT-44494KJS / IR: Allow enum classes to be exportedKT-43224KJS: Allow using inline classes in external typesKT-35100Make Char inline class in K/JSKT-42936](https://yoConfiguration
📅 Schedule: At any time (no schedule defined).
🚦 Automerge: Enabled.
♻ Rebasing: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox.
👻 Immortal: This PR will be recreated if closed unmerged. Get config help if that's undesired.
This PR has been generated by WhiteSource Renovate. View repository job log here.