mirror of
https://github.com/jlengrand/kotlin.git
synced 2026-03-10 08:31:29 +00:00
74 KiB
74 KiB
CHANGELOG
1.5.10
Compiler
Fixes
KT-41078Incorrect type substitution in contracts with type parametersKT-44770JVM / IR: "IllegalArgumentException: Unrecognized Type: [null]" Jackson doesn't recognize typeKT-45084JVM IR: "NoSuchElementException: Sequence contains no element matching the predicate" when inline class is passed to lambda with >22 parametersKT-45779JVM / IR: java.lang.NoSuchMethodError: 'int java.lang.Integer.plus(int)' caused by function referenceKT-45941JVM IR: local functions use generic type parameters of the outer class in the bytecode, which breaks Bytebuddy and MockKKT-46149Generate synthetic classes for SAM adapters with erased instead of generic supertypeKT-46189JVM IR: tailrec function with capturing lambda in default parameter value leads to NoSuchMethodError at runtimeKT-46214JVM / IR: "IllegalStateException: No mapping for symbol: VALUE_PARAMETER INSTANCE_RECEIVER" on a suspend function in an inner classKT-46238JVM IR: BootstrapMethodError in JDK 11+ on intersection type passed in arguments of SAM adapter where SAM interface's type parameter has a non-trivial upper boundKT-46259JVM IR: local function for adapted function reference is not declared as ACC_SYNTHETICKT-46284JVM IR: "Unbound private symbol IrClassSymbol" on class reference to script classKT-46402IllegalAccessError: "CapturedLambdaInterpreter (in unnamed module @0x71b06418) cannot access class jdk.internal.org.objectweb.asm.Type" caused by inline function with a suspend parameter in Maven projectKT-46408JVM IR: BootstrapMethodError due to missing bridge for subclass of generic Java interfaceKT-46426JVM IR: Corrupted .class file when passing Array constructor reference as (inline) lambdaKT-46455OOM on parsing invalid code with string interpolationKT-46503JVM IR: "AssertionError: Unexpected variance in super type argument: out @1"KT-46505JVM IR: NullPointerException caused by a callable reference with nullable inline value class parameterKT-46512JVM / IR: NoSuchMethodError on SAM conversion of a function referenceKT-46515IndexOutOfBoundsException: "Empty list doesn't contain element at index 0." on bad variable name in 1.5.0KT-46516JVM IR: "AnalyzerException: Expected I, but found R" on subclassing AbstractMutableListKT-46524Cannot use unsigned literals with api-version < 1.5 even with opt-inKT-46537JVM / IR: "IllegalStateException: No noarg super constructor for CLASS" caused by "No-arg" plugin with annotation on child classKT-46540JVM / IR: AnalyzerException: Expected an object reference, but found J caused by java.function.SupplierKT-46554JVM IR: "IllegalStateException: No mapping for symbol: VAR IR_TEMPORARY_VARIABLE" with value class constructor delegation callKT-46555JVM IR: IllegalAccessError when using Java method referenceKT-46562Kotlin 1.5.0 generates non-serializable lambdas when they should be serializableKT-46568JVM IR: "AssertionError: IrCall expected inside JvmStatic wrapper" on compiling protected static function with return type Nothing inside companion object of abstract classKT-46574JVM / IR: ClassCastException caused by runBlocking awaiting call while returning Kotlin.Result type.KT-46579JVM IR: "IllegalArgumentException: Sequence contains more than one matching element" for Java enum with overloaded values() static methodKT-46584JVM IR: Intrinsics.needClassReification (UnsupportedOperationException thrown). Property delegate provider crossinline lambda inlining/reification issueKT-46751JVM / IR:"ClassCastException: java.lang.String cannot be cast to java.lang.Void" in extension function in Kotlin 1.5
IDE
KT-45981failed to analyze: java.lang.AssertionError: diagnostic callback has been already registered: Code analysis get stuck in AS 2020.3.1.14 & Kotlin v1.5.0-M2KT-4662260+ second freezes with Kotlin plugin 1.5.0: GetModuleInfoKt.findJvmStdlibAcrossDependencies
IDE. Gradle Integration
KT-46417[UNRESOLVED_REFERENCE] For project to project dependencies of native platform test source sets
Libraries
KT-46280JvmRecord annotation missing constructor in common
Middle-end. IR
KT-44013NPE: When calling constructor of a function type while inheriting from it, despite it's an interface
Tools. Android Extensions
KT-46590Kotlin Android Extensions 1.5.0 generates bad writeToParcel() method for nullable Array types
Tools. Gradle
KT-41142Kotlin version conflict when using Kotlin Gradle plugins in pre-compiled script pluginKT-46353Optimizations disabled in Gradle 7 for KAPT when generating sourcesKT-46368Memory leak with 1.5.0-RC when building with GradleKT-46689Track -Xuse-old-backend flag usage
Tools. Gradle. JS
KT-46006KJS \ Gradle: Task without declaring an explicit or implicit dependency onjsGenerateExternalsIntegratedin Gradle 7KT-46162KJS: Exported items unavailable on dev serverKT-46331KJS: Withkotlin.js.webpack.major.version=4browserXRun tasks fail
Tools. Parcelize
KT-46567Kotlin 1.5.0 parcelize compilation fails in new backend when using TypeParceller with nested generics
Tools. kapt
KT-45532Do not create Kapt stubs directory during configuration time
1.5.0
Backend. Native
Backend. IR
KT-42684StackOverflowError on recursive inline arguments in inline fun
Compiler
New Features
KT-28791Kotlin serialization with inline classesKT-30222Support JVM target version selection in Kotlin bytecode tool windowKT-41884Support 'file' target for JvmSynthetic annotationKT-43677Support for Java recordsKT-43920Support loading binary Java annotations on fieldsKT-44278Generate SAM-converted lambdas and function references using 'invokedynamic' on JDK 1.8+KT-44650Deprecate JVM target version 1.6KT-44787Suspend functions in fun interfacesKT-44865Allow to declare protected constructors in sealed classesKT-44869Compiling sealed interface with version less than 1.5: error message from future could be provided
Performance Improvements
KT-6336Optimize generation of local functionsKT-7307Optimize infix call of String.plusKT-18692Optimize '<optimizable_range> step x' for-in loopKT-19978Inefficient bytecode generated for function references undergoing Java SAM conversionKT-23565OperationsMapGenerated.kt generates unreasonable amount of bytecodeKT-23825Tail suspend call utilizing elvis operator does not take advantage of suspend tail call optimizationKT-23826A suspend function on the right side of a returned || condition is not tail call optimizedKT-25348No compile time unsigned integer conversion when using hex literalKT-26060Support a compiler mode to compile lambda expressions usinginvokedynamicinstructionKT-26590Do not generate create method for suspend lambdas if its arity >= 2KT-27427Optimize nullable check introduced with 'as' castKT-28246Redundant boxing/unboxing isn't eliminated by the compiler in case of inline classes and javaClass intrinsicKT-30605Constant folding doesn't evaluate inv() functionKT-36845Generate enum-based TABLESWITCH/LOOKUPSWITCH on a value with smart cast to enum in JVM_IRKT-39585JVM BE generates redundant accessor calls when accessing static final field lifted from companionKT-40886Old JVM BE unspills ACONST_NULL from continuationKT-42621Kotlin binary size considerably larger for code extensively using stream APIKT-44153NI: Low Memory and IntelliJ hangs when quotes in split() are missedKT-45410JVM / IR: Extreme performance regression on arithmetic operations inside a loop
Fixes
KT-6007Support changed return type of inlined generic function when lambda returns anonymous objectKT-6055Failed invoke plus assign on array element accessed via several args through local get/set convention extensionsKT-6879CompilationException when local classes hierarchy is placed within other local or inner declarationKT-8120NoSuchMethodError on local class constructor call inside a local classKT-8199"Cannot pop operand off an empty stack" for local class using a captured variable as default value for constructor parameterKT-10835"AssertionError: Non-outer parameter incorrectly mapped to outer" when inlining object literal extending inner classKT-12790Don't generate synthetic accessors for private inline function/propertiesKT-13213IllegalArgumentException in ByteVector.putUTF8 on attempt to compile file with moderately long string literalKT-14628"UnsupportedOperationException: Don't know how to generate outer expression" for nested class inheriting from inner class with a companion objectKT-14833JVM internal error: Augment assignment and increment are not supported for local delegated properties and inline propertiesKT-15403Suspend operator get wrong code generated by BE (NoSuchMethodError)KT-15404Suspend operator set wrong code generatedKT-16084Proguard can't find enclosing class of let closure inside apply closureKT-16151Internal compiler error when using plusAssign operator with mutable mapKT-16221Support in/!in suspend operatorsKT-16282"Cannot pop operand off an empty stack" for plusAssign with default parameters in setter operatorKT-16445java.lang.VerifyError: Bad type on operand stackwhen delegating an interface through a private reified function inside an objectKT-16520Invalid bytecode semantics for set call by convention with default parametersKT-16567Inliner creates redundant objects on source inliningKT-16752Delegating function interface to function reference does not workKT-17554Incorrect cast to Unit generated on annotated when-expression with a single-branch if insideKT-17738Java cannot extend class implementing kotlin.collections.MapKT-17753Strange behavior of if and return statementsKT-18583"ISE: Recursive call in a lazy value" for generic sealed class with nested subclass in awhen(this)with inferred return typeKT-19861"IllegalStateException: Label wasn't found during iterating through instructions" forplusAssignwith safe callKT-20306Make 'when' over an 'expect' enum class non-exhaustiveKT-20869kotlin.jvm.internal.DefaultConstructorMarker should be publicKT-20996IllegalStateException: Cannot get FQ name of local class: class in metadata serialization for common codeKT-21014Incorrect bytecode generated for 'PrimitiveArray::size'KT-21092ReferencejavaClassfor generic property: "couldn't transform method node: get()"KT-21778"IllegalStateException: Couldn't build context" for inline function inside an anonymous objectKT-21900VerifyError on equals on generic primitive typeKT-22098"UnsupportedOperationException: Don't know how to generate outer expression" on extension function call inside lambda in anonymous object super constructor callKT-22488Bad line numbers generated for '&&' expressionKT-22972A compiler bug(?) in Number class descendantsKT-23619Transform stateless singleton lambda during inlineKT-23881Declaration of lambda in inlined apply block holds reference to superfluous references causing leakKT-24135Calling invoke on crossinline suspend lambda leads to no state-machineKT-24193NoClassDefFoundError: java/lang/Cloneable$DefaultImpls on inheritance from Cloneable through an interfaceKT-24305ClassNotFoundException when using Java reflection on local class in an inlined lambdaKT-24564Custom operator fun set on ByteArray resolves properly but is miscompiledKT-25400"NoClassDefFoundError: kotlin/KotlinPackage" with Turkish system locale on macOSKT-26130Incorrect method signature for a generic function with inline class as a type parameter upper boundKT-26360"Method from super interface has a different signature" for Interface that extends both interfaces with and without @JvmDefaultKT-26473Error on compiling inline class with calls of super methods equals(), hashCode(), toString()KT-26474VE “Bad type on operand stack” at runtime on calling toString() method of inline class with calls of super methods (toString(), equals(), hashCode()) insideKT-26592Do not generate private suspend functions as synthetic package-privateKT-27449NoSuchMethodError for local suspend function with suspend lambda parameter with default valueKT-27469"Cannot pop operand off an empty stack" for compound assignment (plusAssign) with avarargoperator getKT-27825Gradually prohibit non-abstract classes containing abstract members invisible from that classes (internal/package-private)KT-27830"Incompatible stack heights" with suspend inline function in do while loop that executes suspend lambdaKT-28042"Cannot pop operand off an empty stack" for a bound callable reference of lambda inside inline functionKT-28166"Argument 1: expected I, but found R" for generic method with generic parameter or receiver with inline class upper boundKT-28331Consider generating accessors for lateinit properties to avoid assertion on each callKT-28573Inliner does not update references to transformed objectKT-29331"AnalyzerException: Argument 1: expected R, but found I" with local generic extension property called onIntreceiverKT-29595NoClassDefFoundError with inline reified function with lambda argument returning anonymous objectKT-29802Incorrect reification when the same type parameter name is used for different reified typesKT-30041"AnalyzerException: Expected an object reference, but found ." on nested suspend function calls outer suspend functionKT-30066Consider adding annotations to ConeKotlinTypeKT-30280Inline class class literal gets unwrapped in annotation argumentsKT-30402Constant folding works incorrectly with unsigned arithmeticsKT-30548"java.lang.IndexOutOfBoundsException: Cannot pop operand off an empty stack" while compiling access to a private lateinit companion fieldKT-30629java.lang.VerifyError: Bad type on operand stackwhen using a function reference to a generic propertyKT-30933Inline function produces IllegalAccessError on property reference from different packageKT-31136"AnalyzerException: Argument 1: expected R, but found I" on x::javaClass when x is inline class object built around primitive typeKT-31227Prohibit using array based on non-reified type parameters as reified type arguments on JVMKT-31592NoSuchMethodException when inlining public function accessing a protected static Java class memberKT-31727Object expression captures all variables used in constructorKT-32023"AnalyzerException: Expected I, but found R" with inline suspend function used with callable referenceKT-32115NPE during initialization of enum class with delegated propertyKT-32153"AnalyzerException: Expected an object reference, but found ." with recursive suspend local functionKT-32351ClassNotFoundException for anonymous object implementing interface inside a lambda with data class and inline methodsKT-32384Safe cast to generic type argument with inline class upper-bound throws NPE instead of ClassCastExceptionKT-32579java.lang.VerifyError: Bad type on operand stack on calling inner class of inherited class in super class when casting to inherited classKT-32749"VerifyError: Call to wrong method" with inline function and accessing class field from anonymous objectKT-32793Generated code crashes by ClassCastException with local suspend function and inline classKT-32812"AnalyzerException: Argument 1: expected R, but found I" invoking function with default parameter inherited by inline classKT-32821Missing unboxing of inline class for complex hierarchy of suspend callsKT-33155ClassNotFoundException for qualified this in anonymous object and as a result of inline function callKT-33173Internal error: "AnalyzerException: Expected I, but found R" for supercall inside inline lambda from HashSet.remove implementationKT-33577NoSuchFieldError with nested anonymous objects accessing outer instance propertyKT-33836Wrong code generated for a local tailrec suspend function.KT-33873ClassCastException invoking UByte setter function via reflectionKT-34018"Cannot pop operand off an empty stack" with inline lambda with callable referenceKT-34186JDK11: class file contains malformed variable arity method for vararg sealed class constructorKT-34202IllegalAccessError on callable reference of function from multifile facade from standard libraryKT-34255@JvmStatic tailrec function: "Cannot pop operand off an empty stack"KT-34507Incorrect generated code for mutable collection stub methods in case of presence of functions with similar signatureKT-34665Possible index overflow in optimized "for" loop over withIndex()KT-34754Flow builder: "AnalyzerException: Expected an object reference, but found ." with recursive suspend local functionKT-34816"AnalyzerException: Expected an object reference, but found I" on "this" in inline class member extension suspend functionKT-34841ClassNotFoundException when invoke param function inside anonymous object methodKT-35008"AnalyzerException: Expected an object reference, but found I" in inline class companion calling private constructorKT-35166NoSuchMethodErrorat runtime with local property delegate on anonymous object referencing another anonymous objectKT-35224It's possible to pass non-spread arrays after arguments with SAM-conversionKT-35301MethodInliner fails with "AssertionError: call doesn't correspond to object transformation info" for qualified this in SAM constructor used as parameter of anonymous object inside inline lambdaKT-35419Failed to generate expression: KtNamedFunctionfor local suspend tailrec function with receiverKT-35511VerifyError: "Bad type on operand stack" after reificationKT-35553Kotlin compiler generates methods that always have line number 1 for Inline ClassesKT-35725"AssertionError: Couldn't find a context for a super-call" forsupermember call in property initializer of companion objectKT-36420ClassCastException with inline class Foo extending generic ComparableKT-36713AnalyzerException: "Incompatible stack heights" with suspend and inline suspend functionsKT-36794Move $assertionsDisabled field to the top-level classKT-36853IR: UninitializedPropertyAccessException on tailrec with object expression in default argumentKT-36875"RuntimeException: Trying to access skipped parameter" on synthetic local variable access from inline functionKT-36916AnalyzerException: Argument 1: expected I, but found R when using inline class with rxjavaKT-36957Exception during codegen: cannot pop operand off an empty stack (Nothing variable in string interpolation)KT-36984SAM adapter classes should be generated as anonymous inner classes in JVM_IRKT-37704Incorrect SMAP syntaxKT-37716"AssertionError: call doesn't correspond to object transformation info" with inline reified type parameter, anonymous object and lambda in constructor callKT-37972IllegalAccessError on initializing property reference for a property declared in JvmMultifileClass with -Xmultifile-parts-inheritKT-38100Support local delegated properties (not inlined) in new JVM default modesKT-38833JVM: java.lang.ClassCastException when loop variable is nullable in for loop over unsigned progressionKT-38849Read-only variable initialized in non-inline lambda using contract callsInPlace EXACTLY_ONCE is not captured correctly in nested lambdasKT-38869JVM BE produces invalid bytecode when inheriting from AbstractList and declaring methods that look like MutableList implementors (but they aren't)KT-38965"UnsupportedOperationException: Don't know how to generate outer expression: Closure" with reference to local variable in block argument of anonymous objectbydelegationKT-39289CCE in if-else inside annotated 'if' statementKT-39425AbstractMethodError: "Receiver class does not define or inherit an implementation of the resolved method" using classes with complex Java and Kotlin inheritance hierarchies.KT-39434IllegalAccessError with local delegated property in lambda in inlined functionKT-39687"Couldn't find captured this" when more than 3 inline functions are nestedKT-39784"IndexOutOfBoundsException: Cannot pop operand off an empty stack" caused by JvmOverloads annotation inside an inline classKT-40165ClassCastException caused by SAM conversion used on a functional interface with suspended functionKT-40179"VerifyError: Bad type on operand stack" with parent classgetextension function and child classsetextension function which used inside child classplusAssignextension functionKT-40277Fix generic types in special bridge methodsKT-40308NoSuchFieldError for multiple delegated extension properties with the same name in a companion objectKT-40338NoSuchFieldError on property without backing field that is called as function referenceKT-40392Deprecate JvmDefault annotation and old -Xjvm-default modesKT-40396NI: Exceptions when ambiguous type argument and generic invokeKT-40510"AssertionError: DELEGATION slice must override something" for ByteBuffer delegationKT-40601VerifyError: "interface method reference is in an indirect superinterface" when calling @JvmDefault suspend methodKT-40809"Couldn't find captured field" compiler error with local function with recursive call through method referenceKT-41056Increase stub version due to new "contract" keywordKT-41105IllegalStateException: 'Couldn't find declaration file ' with inline delegate declared in another fileKT-41165"IllegalStateException: Concrete fake override public final fun" when an enum class inherits an interface with a variable 'name' or 'ordinal'KT-41222"IllegalStateException: Concrete fake override public final fun" when a class property is inherited as merged 'var' from 'val' and 'var' from parent abstract class and interface propertiesKT-41255JDK 11: "VerifyError: Bad type on operand stack" with long function body with annotatedwhenexpressionKT-41427NoSuchMethodError caused by implementation by delegation to function referenceKT-41508ClassNotFoundException caused by object with overridden function inside a lambda with safe cast receiverKT-41750Inline classes: ClassCastExceptionError when calling .withIndex() on Iterator over ArrayKT-41758Deprecate kotlin.Metadata.bytecodeVersion and avoid using it in the compilerKT-41770AssertionError: "Asm parameter types should be the same length as Kotlin parameter types" cause by fun interfaceKT-41874"IllegalStateException: Couldn't obtain compiled function body" on extension delegated property with inline operator getValue in a different fileKT-41917[FIR] Incorrect calculating property type for override from intersection scopeKT-42012IllegalAccess to protected field instead of getterKT-42017"AssertionError: Unsigned type expected: UInt?" during codegen when a variable of nullable unsigned type is checking for presence in the rangeKT-42032"AnalyzerException: Expected I, but found R" while using Flow.reduce() with suspend function referenceKT-42034ArrayIndexOutOfBoundsException in PopBackwardPropagationTransformer on external override of function in inline classKT-42064"Parameter specified as non-null is null" with default value of the parameter in operator funKT-42069JVM IR: -Xreport-output-files doesn't report any source files for META-INF/*.kotlin_module filesKT-42083AbstractMethodError when 'remove' with irrelevant generic parameter but matching JVM signature is present in Kotlin collection classKT-42092JVM / IR: "AnalyzerException: Argument 1: expected R, but found J" when trying to add to ArrayList the result of a function applied to intKT-42175Psi2ir: "AssertionError: Undefined parameter referenced: " on augmented assignment on this in a BuilderInference lambdaKT-42179Platform declaration clash when extending abstract Java class implementing 'java.util.Collection' by abstract Kotlin class implementing Kotlin Set or ListKT-42321JVM IR: do not cast integer value based on the type of a literal receiver of an operator callKT-42337NoSuchMethodError in JVM backend with inheritance of private functions in the interfaceKT-42404"Supertypes of the following classes cannot be resolved" in Rider projectKT-42472No TYPE_INFERENCE_UPPER_BOUND_VIOLATED for Delegated Properties do not check types (in Kotlin 1.4.10)KT-42487"IndexOutOfBoundsException: Cannot pop operand off an empty stack" caused by USELESS_IS_CHECK of Double typeKT-42533(N until MIN_VALUE).reversed()should be an empty progression in for loopsKT-42588"IllegalStateException: Concrete fake override public open fun" caused byvaloverride withvarwith delegation.KT-42634Different bridges and abstract stubs behavior in abstract class implementing Map<K, String> in JVM and JVM_IRKT-42635ClassCastException with inline class in for loopKT-42662AbstractMethodError when using partially specialized generic Map classKT-42694@get:Synchronized causes the JVM getter method not to be generatedKT-42753"VerifyError: Bad invokespecial instruction: interface method reference is in an indirect superinterface" withjvm-default=allKT-42879JVM: Declaration clash in fun interface implementation returning an inline classKT-42900"VerifyError: Bad return type" incorrect bytecode when a property and an extension property in inline class have the same namesKT-42946FIR2IR: Fix super-calls to Java overrides of special built-inKT-42971JVM: "AssertionError: Unsigned type expected: T" with UInt loop rangeKT-42990"AssertionError: Next value after NEW should be one generated by DUP" caused by extension properties with accessors annotataed as @JvmStaticKT-43034AssertionError: Compiler fails with complicated tailrec + inline caseKT-43048JVM_IR: Implement coroutines state clearingKT-43050JVM IR: incorrect mangling for method with type parameter with inline class bound in the signatureKT-43059Different bridges behavior in class implementing Map<String, String> in JVM and JVM_IRKT-43063Redundant DefaultImpls delegate is generated in old JVM backend on explicit "duplicate" inheritance from interfaceKT-43069JVM: incorrect generic signature for method with implicit return type Nothing overriding a method from CollectionKT-43099Tailrec call in not tail-call position leads to internal compiler errorKT-43106JVM: customremovein Iterator subclass results in a synthetic bridgeKT-43120JVM: "Expected an object reference, but found ." caused by function which is passed as reference to suspend parameterKT-43167JVM IR, serialization: "No mapping for symbol: VALUE_PARAMETER INSTANCE_RECEIVER" with data class containing property defined in bodyKT-43255Verify error when inheriting from an abstract class implementing Collection with stub-like method in superclassKT-43303NI: False negative TYPE_INFERENCE_UPPER_BOUND_VIOLATED when inferred type argument is not a subtype of type parameter upper boundKT-43333AbstractMethodError when calling 'toArray' from Java on a Kotlin Collection with custom internal 'toArray'KT-43334AbstractMethodError when calling 'remove' from Java on a Kotlin Collection with custom internal 'remove'KT-43342[FIR2IR] No getter or backing field found for delegated member callKT-43347[FIR] Synthetic setter with unmatched parameter type isn't foundKT-43401JVM_IR. Additionalsynchronizedflag on JvmOverloads-generated adapter for Synchronized functionKT-43405Turkish locale, Linux Mint: "NoSuchMethodError: 'int[] kotlin.jvm.internal.Intrinsics$Kotlin.intArrayOf(int[])'" withintArrayOffunction callKT-43460JVM: redundant private setter is generated in case of multifile facadeKT-43473"VerifyError: Bad type on operand stack" caused by operatorgetwith optional argument in superclass when called via square brackets on subclassKT-43518JVM_IR. Additionalstrictfpflag on JvmOverloads-generated adapter for Strictfp functionKT-43569FIR: inapplicable candidate(s): kotlin/collections/setKT-43616[FIR] Nullable type parameter-based type after merge in ifKT-43669FIR: No real overrides for FUN IR_EXTERNAL_DECLARATION_STUBKT-43682Inline extension method of a multifile library inline class not foundKT-43687FIR: UnusedChecker does not take annotation arguments into accountKT-43688FIR: unused checker doesn't handle invokes properlyKT-43749"UnsupportedOperationException: Don't know how to generate outer expression: Closure" caused by Flow and collect method with function reference as a parameterKT-43812JVM IR: SAM wrapper class with generic supertype mentions missing type parameter in the signatureKT-43832JVM IR: missing bridges for inheritance of class from interface in a complex generic diamond hierarchyKT-43851JVM IR: function call returning object instance is removed during constant propagationKT-43864JVM: "Assertion error after mandatory stack transformations: incorrect bytecode" with lateinit property of type T, which has a primitive type upperboundKT-43887Problem with FunctionReferenceLowering$FunctionReferenceBuilder in kotlin nativeKT-43912JVM internal error: Augment assignment and increment are not supported for local delegated properties and inline propertiesKT-43915Back-end (JVM) Internal error: wrong bytecode generated for default methodKT-43938NSME when calling 'kotlin.Number' methods on instance of Java class extending Kolin abstract class extending 'kotlin.Number'KT-43942org.jetbrains.kotlin.codegen.CompilationException: Back-end (JVM) Internal error: Failed to generate functionKT-43949FIR: unresolved callable reference as lambda returnKT-43983IllegalStateException: "Couldn't obtain compiled function body for public final suspend inline fun" after moving inline extension function to libraryKT-43984FIR: recursion in overridden symbolsKT-43984FIR: recursion in overridden symbolsKT-44010FIR: Inapplicable constructor due to an unresolved referenceKT-44030FIR2IR: uncached type parameters in delegated propertyKT-44032FIR2IR: uncached type parameters in Java fieldKT-44050FIR: anonymous object as IR parentKT-44054FIR2IR: incorrect IR origin for substituted override functionKT-44058CompilationException: open suspend fun with @JvmStatic in open class companionKT-44069please remove deprecated usagesKT-44066FIR Java: override ambiguity with vararg value typeKT-44114CompilationException when inlining a extension suspend function declared in interface companion with 'this' reference to extension receiverKT-44131"UnsupportedOperationException: Don't know how to generate outer expression: Closure" when using suspend lambda and a function referenceKT-44140JVM IR: compilation of kotlin.Result crashes with IOOBE while generating toString-implKT-44141JVM IR: "ISE: There should be underlying type for inline class type" on usage of type parameter with Result upper bound inside a lambdaKT-44192Allow a greater number of constants in an enum classKT-44202"ClassCastException" when getting delegated property with inline class and Any/Any? typeKT-44210KJS / IR: "AssertionError: Undefined parameter referenced: defined" caused by plus assign operators in build blocksKT-44233[IR] Collection Stub generation not correctly considering java.util Collection iteratorsKT-44234Private companion property with explicit setter generates invalid bytecodeKT-44269"[TAILREC_ON_VIRTUAL_MEMBER_ERROR] Tailrec is not allowed on open members" with Spring annotation and private tailrec functionKT-44284Make Kotlin binaries publicly unavailable (set KotlinCompilerVersion.IS_PRE_RELEASE = true)KT-44316ReenteringLazyValueComputationException when analyzing complex lazy delegateKT-44347Back-end (JVM) Internal error: Couldn't transform method node for suspend function with wrong local for ContinuationKT-44368"IllegalStateException: Error type encountered" when inlining 'invoke' operator without enough information on type variableKT-44412JVM IR backend fails to compile break in condition of do whileKT-44420False NULLABILITY_MISMATCH_BASED_ON_JAVA_ANNOTATION with 1.4.30-RCKT-44429JVM IR: unnecessary integer unboxing leads to NPE when using mockito-kotlinKT-44439Type inference of generic types failing java interopKT-44440Too many Nothings in inferred typeKT-44471Fix failing script tests after switching to 1.5KT-44474Compiler expects sealed type inheritors from platform specific source-sets in when expression in common source-setKT-44483JVM IR: CCE on calling generic vararg function reference with Array expected typeKT-44527Suspend function with kotlin.Result: ClassCastException class kotlin.Result cannot be cast to class ...KT-44529Inline class calls wrong iterator method in for loopKT-44533JVM IR: ClassFormatError on synthetic $suspendImpl method generated in interface for a @JvmDefault functionKT-44540Regression in 1.4.30 in intellij-community: type mismatch for generic function call with generic Java classKT-44546NI: changed variable fixation order (that can lead to changed resolution)KT-44550KotlinBinaryClassCache leaks Kotlin plugin classloader on plugin unloadKT-44563Type Inference loosing type annotations in lambda type expectation for function calls with block parametersKT-44583"Supertypes of the following classes cannot be resolved" error message gives no contextKT-44627JVM IR: ACCIDENTAL_OVERRIDE when overriding a generic field where the type parameter has a primitive boundKT-44631"IndexOutOfBoundsException: Cannot pop operand off an empty stack" caused by a default param in inner class constructor which uses method or field from receiverKT-44647"IllegalAccessError: class TestKt tried to access private method" with String BuildergetandincoperatorKT-44651JVM / IR: "IllegalStateException: Illegal type substitutor" with if-else inside class constructor argument inside another if-elseKT-44660Internal inline functions in companion object with inline class return type fails compilationKT-44671JVM_IR: ClassCastException: Result$Failure cannot be cast to Result with multithreaded coroutinesKT-44703JVM / IR: "IllegalStateException: Unhandled special name in mangledNameFor" caused by a reference to inline class inside interface's companion with lazy initializationKT-44712JVM / IR: Behavior change after enabling with MockitoKT-44714Debugger / Coroutines: Local variables are trimmed out too aggressivelyKT-44722JVM IR: ClassCastException with inline class, let and bound function referenceKT-44726JVM IR: Incorrect KType nullability for platform type reified as non-nullKT-44781JVM IR: java.lang.NoSuchFieldError: $noName_0 when calling a crossinline lambda within a suspending lambdaKT-44798JVM IR: Inherited platform declarations clash for class implementing both List and SetKT-448011.4.30 JVM IR: Unbound symbols not allowed with anonymous objectKT-44803FIR bootstrap: incorrect nullability is set for type alias-based typeKT-44827Non-existing outer class is written in anonymous class for SAM wrapper in inline lambda with captureKT-44837JVM / IR: ClassCastException with Result object when it is used by a generic method in a suspend callKT-44875JVM_IR.hashCodecall is generated on interface target in fun interface equalityKT-44878JVM_IR: "IllegalStateException: Unexpected types" when checking non-nullable variable isinrange between nullable ones with smart-castKT-44926MPP: Actual typealias to compiled inline class incompatible with expect inline classKT-44947Sealed interfaces: Sealed fun interface leads to "NoWhenBranchMatchedException"KT-44993JVM IR: VerifyError on getfield with Kotlin generic field and elvis operatorKT-45008JVM IR: hashCode is generated as invokeinterface if smart cast to interface is presentKT-45011JVM / IR: "AssertionError: Unbound symbols not allowed"KT-45022IR: "AssertionError: Undefined variable referenced" from psi2ir caused by plusAssign operator of objectKT-45064JVM IR: "java.lang.AssertionError: SyntheticAccessorLowering should not attempt to modify other files!" with member reference to property in another file with private setterKT-45067"IllegalArgumentException: Wildcard mast have a bound for annotation of WILDCARD_BOUND position" with BEAM SDK 2.27KT-45069JVM / IR: New SAM conversions mode fails when converting from Unit to AnyKT-45131JVM / IR: "RuntimeException: Lambda, SAM or anonymous object should have only one constructor" caused by inline class that type cast to reified type parameter inside lambda in inline functionKT-45139Inline class: AssertionError: Expected top level inline classKT-45166JVM / IR: "AbstractMethodError: Receiver class does not define or inherit an implementation of the resolved method of interface" caused by interface with suspend functionKT-45187JVM / IR: ClassCastException caused by substituting generic type of vararg parameter with java.lang.VoidKT-45195JVM IR: annotation methods are generated as default interface methods ifallopenis usedKT-45243"IllegalStateException: Lambdas shouldn't be visited by ESExpressionVisitor" caused by lambda insidekotlin.test.assertNotNullKT-45259JVM: ClassCastException caused by Result as lambda parameter typeKT-45292AssertionError with recursive inline extension propertyKT-45300Deprecate super calls in public-api inline functionsKT-45409Rename jspecify annotations’ package and default not null annotationKT-45446JVM / IR: NullPointerException caused by unreachable code and comparisonKT-45721JVM / IR: "Unbound symbols not allowed" caused by class reference in sequence lambdaKT-45853JVM / IR: "Accidental override" caused by inheriting Throwable.getCause from Java interfaceKT-45861Turning warnings into errors for calls with type parameters annotated by @OnlyInputTypesKT-45865JVM IR: "VerifyError: Bad type on operand stack" withenumValueOfon a value from a list of stringsKT-45868JVM IR: ClassCastException with SAM function in init block when SAM is generated via invokedynamicKT-45920JVM IR: "Accidental override" on redefiningget()in custom Map classKT-45934JVM IR: "java.lang.IllegalStateException: Function has no body" for class implementing interface by delegationKT-45945JVM / IR: "AssertionError: Unexpected variance in super type argument" with contravariance and intersection typesKT-45963JVM / IR: "AbstractMethodError: Receiver class does not define or inherit an implementation of the resolved method" in Dokka testsKT-45967JVM IR: "IllegalAccessError" with invokedynamic to Java SAM over callable reference to private functionKT-45982Wrong subtyping result on captured types with postponed type variablesKT-46007JVM / IR: "ClassCastException: kotlin.Unit cannot be cast to java.lang.String" caused by default suspend function in interfaceKT-46060JVM IR: NullPointerException from RangeContainsLowering whencontainsis a @JvmStatic function in objectKT-46069JVM IR: unbound type parameter on generic bound adapted function referenceKT-46092JVM IR: AssertionError "Array type expected: @[FlexibleNullability] kotlin.CharArray?" on super call to Java constructor with primitive varargKT-46104The message on inline -> value class migration should not say that inline classes are deprecatedKT-46131Kotlin 1.5.0-RC errors when reading class fileKT-46160JVM IR: IllegalAccessException at runtime for member reference to JvmMultifileClass member from stdlibKT-46186Type inference regression in Kotlin 1.5 with constrained generic return types
Docs & Examples
KT-45884Incorrect description for JVMtoUpperCasemethod
IDE
KT-33233Use dependency of library to build built-ins in IDE, instead of loading them from the current classloaderKT-34023kotlin.KotlinNullPointerException at org.jetbrains.kotlin.backend.common.FunctionsFromAnyGenerator.getPrimaryConstructorProperties(FunctionsFromAnyGenerator.kt:66)KT-35947KFunctionN.call is unresolved in IDE in Kotlin/JVM projectKT-37702Code analysis speed: on-the-fly analysis diagnostics reportingKT-41048[FIR-IDE] Properly implement methods in KtFirPackageScopeKT-41671Missing nullability information in properties using type inference from get()KT-43824KtLightClassForSourceDeclaration#isInheritor works in a different way than java implementationKT-44128IDE: Kotlin JVM record has incorrect property accessors as seen from JavaKT-44487MPP, IDE: No error in IDE when sealed class inheritor from common source-set is not used in exhaustive when expression in platform source-setKT-45254Highlighting for files with certain errors appears only on second openingKT-46097Light classes: Incomplete nullability information for a getter method of a kotlin property defined in private constructor
IDE. Decompiler, Indexing, Stubs
KT-43699IDE: Unresolved extension method from Java code for simple class with typealias and generics (IllegalStateException: Unknown type parameter)KT-44756Infinite "UpToDateStubIndexMismatch: PSI and index do not match." with IDEA 2021.1 EAP upon attempt to open "org.gradle.configurationcache" even they seem to be the same
IDE. Gradle Integration
KT-37127Implement precise importing of platforms of root source sets (commonMain/commonTest) when hierarchical multiplatform support is enabledKT-42048KJS / Gradle integration: Could not determine the dependencies of task ':webApp:testPackageJson' in Android Studio 4.2 Canary 11
IDE. Gradle. Script
KT-46215Dead lock on closing project during the import in IJ211 through ScriptDefinitionsManager
IDE. Inspections and Intentions
KT-23824Return lifted out of if condition causes suspend tail call optimization to no longer applyKT-38155Lift assignment out of 'if' produces type mismatch without manually adding a semicolonKT-44821IDE: False positive NO_ELSE_IN_WHEN caused by sealed class and when in another moduleKT-46088[IDEA] Incorrect behavior of replace inline class with value class intention
IDE. Misc
KT-44675Incorrect reference to resource into 202 plugin
IDE. Refactorings
KT-44079Sealed Interfaces: Move refactoring should warn about violation of hierarchy restrictionsKT-44839Sealed interfaces: move refactoring warnings works with "more freedom for sealed classes" rules for language level < 1.5
IDE. Script
KT-43288Allow push notifications about script configuration /dependencies changes via theScriptDefinitionsProviderEP
JavaScript
KT-39272KJS / IR: Can't use javascript keywords as JsNameKT-41650JS IR BE:defaultshould be a reserved identifierKT-42176KJS / IR: Interface default method in sub-interface not resolved correctly from extension on super-interfaceKT-44103[JSIR] TypeError when bumping from 1.4.20 to 1.4.30-M1KT-44180KJS / IR: NPE in ConstTransformer of compileDevelopmentExecutableKotlinJs/compileProductionExecutableKotlinJs tasksKT-44415Kotlin/JS with IR and kotlin-react: "too much recursion" error in runtime in browserKT-44433KJS IR: support function interfaces with suspend memberKT-44469KJS / IR: Incorrect export functions with bridgesKT-44718MPP/ KJS: "IllegalStateException: Unsupported operation" with serialization plugin and incremental compilationKT-44796KJS / IR: default parameter of function with @JsName leads to "RangeError: Maximum call stack size exceeded"KT-45059KJS / IR: Add possibility for runtime diagnostics of DCE result
Libraries
KT-12109Add stdlib method that combines mapNotNull() and first/firstOrNull()KT-25571Make random implementations serializableKT-26234Floored division and remainder function for numeric typesKT-32996kotlin.test: add assertContentEquals for comparing content of arrays, iterables, sequencesKT-39177Make CharCategory available in common multiplatform codeKT-40225Support adding kotlin-test as a single dependency, as it should be with a multiplatform libraryKT-42071Strict version of String.toBoolean()KT-42720Kotlin ArrayDeque on JVM: provide optimized toArray methodKT-42840Commonize and generalize String.contentEquals that is currently JVM-onlyKT-43772Kotlin/Native unfinished workers detected.KT-44168Prevent storing NaN and negative zero in kotlin.time.DurationKT-44369Commonize Char.titlecaseChar() and Char.titlecase() that are currently JVM-onlyKT-44783Add IS_VALUE flag for value classes to kotlinx-metadata-jvmKT-44815Remove kotlin-annotations-android and JVM compiler support for @ParameterName/@DefaultValue/@DefaultNullKT-45213Update Unicode version used in K/N for Char and String case conversion functions
Middle-end. IR
KT-43831Compilation failed, IrSimpleFunctionPublicSymbolImpl is already boundKT-44100KJS / IR: Top level declarations added in IR plugin are not referenceable from other modulesKT-45170IR: "AssertionError: Single expression value for GET_OBJECT" caused by inc operator of field inside scope function inside object
Native
KT-42446Native: SIGSEGV in Kotlin_Array_get on linuxArm64KT-43502[K/N] relocation R_X86_64_PC32 cannot be used against symbol __environ; recompile with -fPICKT-442951.4.21 Kotlin native ndk compiler crashKT-44774ld fails with CALL16 reloc at 0x48f00 not against global symbol (Linux MIPS)KT-44746Different hashCode() results for Kotlin/Native stdlib
Native. C and ObjC Import
KT-44824cinterop tool no longer appends .klib to produced klibs
Native. C Export
KT-36639MPP: Build ios "staticLib" or "sharedLib" binary failed if interface contains member extension functionKT-41725Dynamic library doesn't load on raspberrypi
Native. ObjC Export
KT-44549In the Xcode debug session, call stack is missing a frame when the iOS app fails
Native. Platforms
KT-45094Fail to compile Kotlin Native sources under Oracle Linux 7
Reflection
KT-44594Avoid using unnecessary array types reflection in kotlin-reflectKT-44782Add KClass.isValue to kotlin-reflect
Tools. Ant
KT-16227Ant task: do not include runtime by default if destination is a jarKT-44293Support fork mode in kotlinc Ant task
Tools. CLI
KT-17344Include kotlin-reflect to resulting jar if "-include-runtime" is specifiedKT-43220-include-runtime should add .kotlin_builtins to the outputKT-43704Illegal reflective access by com.intellij.util.ReflectionUtil to method java.util.ResourceBundle.setParent(java.util.ResourceBundle)KT-44078Do not include module-info.class of kotlin-stdlib.jar to the resulting jar with -include-runtimeKT-44232CLI: do not pass -noverify to java process starting from JDK 13KT-45566JDK 16 - e: java.lang.NoClassDefFoundError: Could not initialize class org.jetbrains.kotlin.com.intellij.pom.java.LanguageLevel
Tools. CLI. Native
KT-43874Native / CLI: provide a way to show difference between Jvm and Native compilers
Tools. Compiler Plugins
KT-45783Serialization: "AnalyzerException: Expected an object reference, but found I" caused byJvmInlineandSerializableannotations
Tools. Gradle
KT-31027java.lang.NoSuchMethodError: No static method hashCode(Z)I in class Ljava/lang/Boolean; or its super classes (declaration of 'java.lang.Boolean' appears in /system/framework/core-libart.jar)KT-43605Kotlin Gradle Plugin 1.4.20 undeclared system property reads cause problems with Gradle configuration cache enabledKT-44204Kotlin Gradle Plugin 1.4.21 makes impossible to use ANTLR in other pluginsKT-44361Gradle: deprecate options includeRuntime, noStdlib, noReflectKT-44462Kotlin Gradle plugin createscompileconfiguration with Gradle 7.0KT-44834Gradle Kotlin DSL: AddlanguageSettingsconfiguration lambda withoutapplycallKT-44949Compatibility with Gradle 7.0KT-44957gradle - target.compilations seems to be deprecatedKT-45340Update minimal supported version of Kotlin Gradle Plugin to 6.1
Tools. Gradle. JS
KT-43237KJS:-jsLegacyNaming Convention is incompatible with NPMKT-43869Error in webpack configuration not displayedKT-44614Update Node.JS and Yarn versionsKT-44616Kotlin/JS: IR backend with React: "Uncaught TypeError: _this__0 is undefined" runtime error in browserKT-45574Sync Kotlin/JS compile tasks into one folder (build/js/packages//kotlin)
Tools. Gradle. Multiplatform
KT-42098Commonizer is re-launched for every included Gradle buildKT-43116Merge together MultiplatformHighlightingTest and MultiplatformAnalysisTestKT-44322KotlinTargetComponent maintenance for -sources.jarKT-44900Support gradle configuration cache with kotlin.multiplatform plugin
Tools. Gradle. Native
KT-46122kotlinx-serialization and kotlinx-datetime can't be built with 1.5.0-RC
Tools. JPS
KT-13631Compilation fails on Turkish locale because of locale-sensitive uppercasingKT-44644Mark all@JvmMultifileClassparts compiled in the previous round as dirty in the JPS plugin, similarly to how it’s done in the Gradle plugin
Tools. Scripts
KT-45194KT: Generate Kotlin Entities script: it doesn't workKT-44580Scripts: Unable to set new file annotation hooks after first snippet compilation
Tools. kapt
KT-43686KaptWithoutKotlincTask should use@CompileClasspathforkotlinStdlibClasspathfor cache relocateability.KT-44130KAPT changes field order in 1.4.30-M1KT-44909Kapt: ReenteringLazyValueComputationException without stacktrace caused bywhenexpression with sealed class function without explicit return typeKT-45168KAPT: Java stubs generated for Kotlin files generated by annotation processors