This PR contains the following updates:
Release Notes
JetBrains/kotlin (org.jetbrains.kotlin:kotlin-gradle-plugin)
v2.1.0: Kotlin 2.1.0
Changelog
Analysis API
New Features
KT-68603 KotlinDirectInheritorsProvider: add an option to ignore non-kotlin results
Performance Improvements
KT-70757 Performance problem in KaFirVisibilityChecker for KaFirPsiJavaClassSymbol
Fixes
KT-70437 Class reference is not resolvable
KT-57733 Analysis API: Use optimized ModuleWithDependenciesScopes in combined symbol providers
KT-72389 K2: False positive "Redundant 'protected' modifier" for protected property inside protected constructor from private or internal class
KT-69190 K2: False-positive "redundant private modifier"
KT-64984 Analysis API: Support Wasm target
KT-70375 K2: NPE at org.jetbrains.kotlin.analysis.api.fir.symbols.KaFirNamedClassSymbolBase.createPointer
KT-71259 K2 evaluator: Invalid smart cast info collecting for Code Fragments
KT-69360 Lack of implicit receiver for the last statement under lambda in scripts
KT-70890 Analysis API: Experiment with weak references to LL FIR/analysis sessions in session caches
KT-70657 Analysis API: Inner types from classes with generics are incorrectly represented by the compiled jars
KT-71055 Suspend calls inside 'analyze()' break the block guarantees
KT-70815 Analysis API: Implement stop-the-world session invalidation
KT-69819 K2 IDE: LHS type in callable references is unresolved when it has type arguments and is qualified
KT-68761 Analysis API: Experiment with limited-size cache in KaFirSessionProvider
KT-70384 Analysis API Standalone: The same class in the same two renamed jars is unresolved
KT-71067 Exceptions from references cancel Find Usages
KT-69535 Redesign 'containingSymbol'
KT-71025 K2 IDE: Scopes in "importingScopeContext" have reversed ordering and "indexInTower" values
KT-67483 K2 IDE: Serializable plugin causes infinite resolve recursion when there is a star import from a class with annotation call
KT-69416 K2 IDE / Completion: "No classifier found" on simple value creating
KT-70257 CCE: class kotlin.UInt cannot be cast to class java.lang.Number
KT-70376 K2 IDE / Kotlin Debugger: IAE "Only componentN functions should be cached this way, but got: toString" on evaluating toString() method for value class
KT-70264 AA: service registration via XML fails with AbstractMethodError in Lint CLI
KT-69950 Analysis API: Introduce isSubtypeOf(ClassId)
KT-68625 K2: "lazyResolveToPhase(STATUS) cannot be called from a transformer with a phase STATUS."
KT-67665 K2: contract violation for value class with a constructor parameter with an implicit type
KT-67009 Analysis API: Add abbreviated type tests for type aliases from source modules
KT-69977 KaFirFunctionalType#getAbbreviation is always null
KT-68341 Analysis API: Expanded function types from libraries don't have an abbreviated type
KT-68857 Analysis API: Refactor annotations
KT-70386 Do not filter out overloads from different libraries in dangling files
KT-65552 K2: CANNOT_CHECK_FOR_ERASED in KtTypeCodeFragment
KT-65803 K2: Analysis API: KtFirTypeProvider#getSubstitutedSuperTypes throws an exception in the case of "Wrong number of type arguments"
KT-68896 Support VirtualFile binary dependency inputs to Analysis API modules
KT-69395 K2 IDE: incorrect overload selection from binary dependencies in a shared native source set
KT-68573 ISE: "Unexpected constant value (kotlin/annotation/AnnotationTarget, CLASS)" at Kt1DescUtilsKt.toKtConstantValue()
KT-69576 Analysis API: FIR implementation of "isImplicitReferenceToCompanion" returns false for companion references in implicit invoke operator calls
KT-69568 Analysis API: FIR implementation of "isImplicitReferenceToCompanion" returns true for non-companion references in qualified calls
KT-69436 Analysis API Platform: Encapsulate LLFirDeclarationModificationService as an engine service
KT-63004 K2: Analysis API: Design API for querying declarations generated by compiler plugins (similar to indices)
KT-69452 AA FIR: wrong source PSI after compile-time evaluation
KT-69598 AA: definitely not-null type at receiver position should be wrapped in parenthesis
KT-60484 Analysis API: add support for KtType pointers similar to KtSymbolPointer
KT-68884 Analysis API: Rename/deprecate/remove declarations as part of Stabilization
KT-69453 AA FIR: miss to handle expected type of lambda with explicit label
KT-69533 Protect implementation parts of Analysis API with opt-in annotations
Analysis API. FIR
Performance Improvements
KT-71566 FirElementBuilder#getFirForNonKtFileElement should iterate a Psi file over and over
KT-71224 Analysis API: FirElementFinder.collectDesignationPath relies on naive iteration through FIR files
Fixes
KT-70327 Analysis API: Batch inspection causes deadlock in ValueWithPostCompute
KT-69070 Analysis API: Querying declared member scope for Java symbols results in exception in some use cases
KT-68268 LLSealedInheritorsProvider: reduce scope to kotlin files
KT-69671 TYPES phase contract violation through JavaSymbolProvider
KT-70624 Declaration symbols from code fragments are treated as not local
KT-70662 NPE: FirLazyBodiesCalculatorKt.calculateLazyBodyForProperty
KT-70859 Do not fail highlighting due to resolution problems
KT-70474 FirLazyResolveContractViolationException from JavaSymbolProvider
KT-70323 FirLazyResolveContractViolationException: lazyResolveToPhase(TYPES) cannot be called from a transformer with a phase TYPES
KT-71567 LLFirCompilerRequiredAnnotationsTargetResolver should calculate annotation arguments on demand
KT-71584 getNonLocalContainingOrThisDeclaration treats KtParameter from functional type as non-local
Analysis API. Light Classes
Performance Improvements
KT-69998 Drop redundant cache from ClassInnerStuffCache
Fixes
KT-69833 Support value classes
KT-71693 Wrong name mangling for JvmField class property and companion property clash
KT-71469 KtLightClassForDecompiledDeclaration: missed kotlinOrigin
KT-70710 Provide light classes for KMP modules in Android Lint
KT-70548 SLC: text of class object access expression is not the same as raw text
KT-70572 SLC: missing isInheritor implementation for type parameter
KT-70491 SLC: inconsistent source PSI of no-arg constructor for all default values
KT-70458 SLC: missed auxiliaryOriginalElement for delegated property
KT-70232 Support a companion object inside value classes
KT-70349 @delegate:` annotations are missed for light class fields
KT-68328 Move KtLightClassBase to ULC
Analysis API. Providers and Caches
KT-65618 K2: resulted FirClass.psi != requested PsiClass from completion
KT-69292 K2: Analysis API: A property's MUST_BE_INITIALIZED diagnostic is not updated after changing field usage in an accessor
KT-71468 Drop redundant logic from LLFirJavaFacadeForBinaries
KT-71700 Cache result of resolveToCall
KT-71520 Analysis API: LLFirNativeForwardDeclarationsSymbolProvider spends a lot of time in indices
Analysis API. Standalone
KT-65110 Analysis API: In Standalone mode the order of symbols is unstable
Analysis API. Stubs and Decompilation
KT-71565 KtClassOrObject should use isLocal from greenStub
Analysis API. Surface
New Features
KT-69960 resolveToCallCandidates should support operators
KT-69961 resolveToCallCandidates should support properties
Performance Improvements
KT-70529 KaSymbol: reduce the number of cached usages
KT-70165 Introduce PSI-based KaSymbols for K2
Fixes
KT-69371 Analysis API: expose only interfaces/abstract classes for the resolution API
KT-69696 KaSymbolByFirBuilder should filter call-site substitutions
KT-69679 KaDelegatedConstructorCall should have substituted signature
KT-70206 anonymousSymbol API throws an exception for regular functions
KT-69699 Receiver type is not substituted in the case of conflict declarations
KT-69381 Analysis API: Investigate the viability of current KaSymbol caches
KT-70199 K2: ConcurrentModificationException at FirCallCompleter$LambdaAnalyzerImpl.analyzeAndGetLambdaReturnArguments
KT-70661 Invalid FirDeclarationOrigin ScriptTopLevelDestructuringDeclarationContainer
KT-70663 KaFirDestructuringDeclarationSymbol: Failed requirement
KT-63490 Analysis API: Accessing the Analysis API should be prohibited during dumb mode
KT-63390 K2: Analysis API: add annotations to KtClassInitializerSymbol
KT-55124 Design common ancestor for KtValueParameter and KtReceiverParameterSymbol
KT-71731 directlyOverridenSymbols/allOverridenSymbols works incorrectly for intersection overrides
Apple Ecosystem
KT-66262 Deprecate and remove support for bitcode embedding from the Kotlin Gradle plugin
KT-66894 XCFramework task fails when name passed to xcframework DSL is different from framework's name
KT-65675 XCFrameworkTask produces an xcframework with mismatched casing in embedded frameworks
KT-69119 xcodeVersion task fails if Xcode isn't installed and apple-specific native targets aren't declared
Backend. Wasm
New Features
KT-70786 Improve DX of the variable view during debugging in Chrome/Firefox for Kotlin/Wasm
KT-70331 Support incremental compilation for the Wasm backend
KT-71686 K/Wasm: Add functions to convert between Kotlin and JS array types
KT-68185 [WasmJs] Attach js exception object to JsException
Fixes
KT-71294 Wasm Artifacts/Resource are being loaded relatively instead of absolutely
KT-71473 K/Wasm: Use --closed-world and related options for Binaryen
KT-72297 [Wasm] Unused associated object class lead to compiler fail
KT-72156 custom-formatters.js exists in JAR after publishToMavenLocal but not in the published artifact in Maven public
KT-65799 K/Wasm: remove default exports from wasm exports
KT-71800 Wasm compiler: Fix member generation for data classes with an array-type property
KT-71580 String::toFloat on wasm behaves differently compared to other targets
KT-71523 K/Wasm: cleanup after fix for KT-71474
KT-71475 K/Wasm: KClass::qualifiedName returns incorrect result for nested or companion objects
KT-71474 K/Wasm: KProperty*Impl equals work incorrectly for clabbale reference created in different files or modules
KT-61130 K/Wasm: Function signatures may clash with base class internal methods from a friend module
KT-70820 [Kotlin QG] wasm-validator fails when running compile[...]KotlinWasmJsOptimize
KT-70819 [Kotlin QG] node.js fails when running wasmJs[...]Test KGP tasks
KT-70394 Investigate increased wasm binary size after switching stdlib compilation to K2
KT-69627 Remove create###Array functions from WASM stdlib
KT-68509 Fatal: error validating input in compileProductionExecutableKotlinWasmJsOptimize
Compiler
New Features
KT-71094 Kotlin/Native incremental compilation: fail compilation if cache build failed
KT-21908 Support 'when' exhaustiveness checking for generic type parameter with sealed class upper bound
KT-70679 Kotlin/Native: fill WritableTypeInfo from Swift Export type mapping
KT-59798 Builder inference is not working when combined with let expression
KT-54227 Cannot use nullable Nothing as reified type parameter
KT-71430 Kotlin-to-Java direct actualization implementation
KT-68163 Expose supplementary compiler warnings via CLI
KT-69321 Swift export: enable auto-linkage of binary dependencies
KT-11526 Improve diagnostics for "X overrides nothing"
KT-49710 False positive NO_ELSE_IN_WHEN with nullable type as receiver
KT-69729 Support calling super interface Java methods from Kotlin interface
KT-69508 Improve "Public-API inline function cannot access non-public-API" check for the inline property accessors
Performance Improvements
KT-71353 FP Kotlin performance degradation (around Cone types hierarchy changes)
KT-71159 [K2] OOM on large enum classes with fields
KT-69718 K2: Check for jvm nullability annotations in fir2ir is slow
KT-68417 Native: LLVM 16 inliner is slow on K/N-produced modules
KT-63971 K2: Redundant @ParameterName in abbreviated type in metadata
Fixes
KT-71550 JVM IR: NPE on identity equals of boolean true with null
KT-72214 -fpass-plugin (clangFlags) is not applied since Kotlin 2.0.20
KT-68933 CompilationException: Back-end: Could not get inlined class
KT-72255 Promote jspecify from warning to error
KT-73065 CCE with context receivers
KT-61033 K2: implement a diagnostic corresponding to K1's MISSING_BUILT_IN_DECLARATION
KT-72345 K2: Method 'get' without @Override annotation not called
KT-71260 K2: Internal compiler error in IrFakeOverrideSymbolBase.getOwner when there is no actual for expect
KT-72996 false-positive unresolved reference error on an overloaded callable reference in a lambda return position on the left-hand size of an elvis operator
KT-72552 AutoboxingTransformer fails on during linkage on nested lambdas with cinteroped types
KT-71751 K2: Skipping code in last statement of lambda
KT-71121 Kotlin/JS incremental compilation fails with KotlinIllegalArgumentExceptionWithAttachments
KT-60521 Drop language versions 1.4 and 1.5
KT-70461 K2: "Inline class types should have the same representation" caused by value class and smart check
KT-72238 Argument type mismatch in builder inside extension function after ?:
KT-70306 K2: Lambdas are unserializable: inferred from Java param ? super I
KT-67383 Incorrect optimisation when optimising for loop with UByte
KT-68653 Switch latest stable language version in Kotlin project to 2.1
KT-71708 False negative UNSUPPORTED for collection literals as trailing return value
KT-72281 K/N: "Failed to wait for cache to be built"
KT-72017 Enum property reflection returning null KClassifier property for Enum classes defined inside Kotlin Scripts
KT-69040 PCLA: deal with "deep" calls that can be fully analyzed properly
KT-69920 K2: java.lang.IllegalArgumentException: FirNamedArgumentExpressionImpl.replaceConeTypeOrNull() during Space project compilation
KT-69549 Try to move callable reference transformation earlier in pipeline
KT-63944 Kotlin/Native: Cache flavor selection doesn't respect GC kind
KT-71649 K2: Put operator on mutableMap<T?, V>() causes crashes on null key
KT-70667 K2: "Type parameter * has inconsistent bounds" caused by wildcard and where-clause
KT-70562 @SubclassOptInRequired cannot accept multiple experimental marker
KT-69407 K2: Compiler crash (Shouldn't be here) due to unresolved reference in FirProjectionRelationChecker
KT-71508 JAVA_CLASS_INHERITS_KT_PRIVATE_CLASS isn't reported when java class is inherited from an effectively private class
KT-72178 K2: "Unexpected FirPlaceholderProjectionImpl" exception when using "_" as key type in EnumMap
KT-70407 Error/warning message for @SubclassOptInRequired-annotated class should provide more context
KT-72302 K2: no error on type operator in annotation parameter default value
KT-58820 OPT_IN_USAGE_ERROR's message text does not account for SubclassOptInRequired
KT-71662 PCLA: a type variable is not fixed on demand to a type containing a not-fixed type variable
KT-69739 K2: "KotlinIllegalArgumentExceptionWithAttachments: Unexpected FirPlaceholderProjectionImpl" caused by unresolved references
KT-72154 Dokka fails with not array: KClass<out Annotation> on Kotlin 2.1.20-dev with @SubclassOptInRequired
KT-70756 K2. Compiler crash with FileAnalysisException on incorrect symbol in nesting lambda
KT-72173 K2: simple object names from root package are resolved without imports in non-root packages when used as values
KT-71480 JAVA_CLASS_INHERITS_KT_PRIVATE_CLASS isn't reported while java object isn't created
KT-71034 Failing compiler/testData/codegen/box/inlineClasses/kt70461.kt
KT-71016 K/Wasm: Failing compiler/testData/codegen/box/inlineClasses/kt70461.kt
KT-52469 Deprecate reified type parameter instantiating into intersection types
KT-71753 PCLA: false-negative operator ambiguity error on fixing a type variable on demand for an operator assignment
KT-59871 K2: Fix introduced diagnostics
KT-71563 'llegalStateException: Source classes should be created separately before referencing' when actualized through typealias and java direct actualization
KT-64741 Avoid leaking ConeTypeVariable types in diagnostics from PCLA
KT-60447 Builder inference fails to infer generic type argument from local class
KT-69170 K2: "Unresolved reference" caused by generics and fun interfaces
KT-71756 K2 evaluator: broken resolve of private members during debug of Kotlin project itself
KT-68893 Invalid annotation in contract crashes with K2
KT-71490 K2: missing REDUNDANT_ELSE_IN_WHEN
KT-64403 Implement BlackBoxCodegenTestSpecGenerated for K2
KT-71551 JVM IR K1: NPE on generating a function imported from an object from another module
KT-71210 K2: false negative FUNCTION_CALL_EXPECTED / NESTED_CLASS_ACCESSED_VIA_INSTANCE_REFERENCE with companion objects
KT-71528 K2/JVM: ClassCastException around Array<Nothing?>
KT-71228 K2: "IllegalArgumentException: Failed requirement" caused by lambda parameter and class type
KT-71738 K2: False negative REDECLARATION inside object expression
KT-71701 K2: false positive CAN_BE_VAL with lateinit and non-in-place lambda
KT-68694 K2 IDE / Kotlin Debugger: AE "Unresolved reference: <HIDDEN: samples/gen/classes/enum class/EnumClass.lam is invisible" on evaluating private lambda inside enum entry
KT-70970 K2 IDE / Kotlin Debugger: AE "Only assignable IrValues can be set" on calling overloaded inc() operator on interface
KT-70824 K2: NoSuchFieldException when evaluating private extension property
KT-70390 K2 IDE / Kotlin Debugger: can't invoke lambda from private class during evaluation
KT-68701 K2 IDE / Kotlin Debugger: AE "ERROR_CALL 'Unresolved reference: <HIDDEN: /privateLambda is invisible>#' type=IrErrorType(null)" on evaluating private top-level lambda
KT-68695 K2 IDE / Kotlin Debugger: AE "Unsupported callable reference" on evaluating ::lateinitStr on private lateinit property
KT-70861 K2 IDE / Kotlin Debugger: can't evaluate Clazz::class call for private class
KT-34911 Improve error message for WRONG_ANNOTATION_TARGET: list applicable targets
KT-71601 K2: When with a subject of type dynamic always considered exhaustive
KT-33091 Kotlin/Native: Compiler crashes if an external class is declared
KT-59651 K1/K2: Assertion error on external enum usage attempt
KT-69939 Extract a category of internal FIR checkers from supplementary FIR checkers
KT-70850 Pull down typeArguments from ConeKotlinType to ConeClassLikeType
KT-71117 K2: "IllegalArgumentException: No type for StarProjection" with star projection and function type
KT-71251 Native & JS K2: Missing check for calling isInitialized inside inline fun
KT-70161 Native: extracting LLVM 16 on Linux makes the compiler print many "Ignoring unknown extended header keyword 'LIBARCHIVE.creationtime'" messages
KT-71215 K2: UB due to the erroneous greening of the red code with multiple delegation with java
KT-59386 K2: Missing CONSTANT_EXPECTED_TYPE_MISMATCH
KT-69564 Make using -Xuse-k2 compiler flag an error
KT-69756 TypeOfLowering: don't create constant object nodes before inlining
KT-66328 K2: implement an error for KT-66324
KT-71046 K/N: a separate lowering to convert function reference to IrConstantObject
KT-69223 Drop parallel lowering mode in JVM backend
KT-70260 @JsPlainObject: improve compiler error if a method is present
KT-67739 Improve error message when JDK used in -Xjdk-release has corrupted class files
KT-63964 K2: different naming of classes defined in script in metadata
KT-70014 Common inference: introduce rigidTypeMarker
KT-71352 Cannot load script definition class org.gradle.kotlin.dsl.KotlinProjectScriptTemplate
KT-63502 Getting java.lang.ClassNotFoundException: javaslang.λ during compilation
KT-66316 Kotlin/Native: make @Escapes annotation required for all external functions
KT-69653 Prohibit exposing types via type parameters' bounds
KT-68451 Inconsistent rules of CFA in enum initialization block
KT-70893 K2: Bogus NO_COMPANION_OBJECT on resolve to private qualifier
KT-70965 FIR/AA: Initializers for Java annotation arguments mapping capture use-site sessions
KT-63945 K2: Prevent possible diagnostic loss
KT-64453 K2: Implement ComposeLikeIr...TestGenerated for K2
KT-30424 Confusing error message "modality is different"
KT-70846 Replace ConeKotlinType.nullability with isMarkedNullable on specific types
KT-56720 K2: false positive MANY_IMPL_MEMBER_NOT_IMPLEMENTED in case of delegation in diamond inheritance
KT-69937 Define & enforce user-friendly terminology for extended checkers
KT-64406 K2: Implement CompileKotlinAgainstJavaTestGenerated for K2
KT-69938 Validate sets of default compiler warnings and supplementary compiler warnings
KT-68971 Investigate suspicious fragmentation of FIR trees for string literals with interpolation
KT-71073 Multi-dollar strings: parser grabs too much if backticks follow a short sequence of '$'
KT-71213 Rethrow exceptions in checkers with some useful attachments
KT-70395 K2: "Captured Type does not have a classifier" caused by out type and interface hierarchy
KT-70133 K2: false negative UNINITIALIZED_VARIABLE when postponed lambda is created before initialization
KT-70625 K2: ClassCastException caused by function reference, star projection and invariant type parameter
KT-70835 K2: "TYPE_MISMATCH" caused by operator assignment
KT-70366 K2: "KotlinIllegalArgumentExceptionWithAttachments: Failed to find functional supertype for class "
KT-68834 Parentheses don't influence calls of any convention operators (except invoke operator) after safe navigation operator
KT-70358 K2: "java.lang.IllegalArgumentException: No type for StarProjection" when using a star projection on a function type
KT-69298 K2: "Initializer type mismatch" caused by elvis operator type inference for nullable typealias
KT-71189 K2: emit 'DELEGATE_SPECIAL_FUNCTION_MISSING' and 'DELEGATE_SPECIAL_FUNCTION_NONE_APPLICABLE' on 'by' keyword
KT-71178 K2: False negative NO_ELSE_IN_WHEN in when over nullable type with !is Nothing? check
KT-70812 False positive NO_ELSE_IN_WHEN with nullable type argument as subject
KT-70947 False positive NO_ELSE_IN_WHEN with DNN subject and nullable sealed class upper bound
KT-70752 Review diagnostics with whole declaration as range
KT-71160 K2: Rendering of flexible collection types and arrays is too verbose
KT-61227 Definitely non-nullable types cause "Any was expected" for @Nullable parameter
KT-69389 K2: NONE_APPLICABLE instead of more useful "type mismatch" error with overloads and parameter nullability mismatch
KT-69829 Missed UNRESOLVED_LABEL for label in returns and loops
KT-61223 JDK 21: new addFirst/addLast and putFirst/putLast methods allow adding nullable value for non-null types
KT-66742 Supertypes with inaccessible type arguments are allowed
KT-62906 Type system: consider changing simple type & DNN type relation
KT-70104 Update the error message for calling super Java interface methods case
KT-69794 K2: Wrong target is reported for EXPOSED_SUPER_INTERFACE diagnostic
KT-70724 False-positive UNINITIALIZED_VARIABLE for inline constructor with late-initialized variables
KT-70749 False-positive UNINITIALIZED_VARIABLE for inline fun with crossinline modifier
KT-65805 Migrate builtins serializer to K2
KT-71004 FirSignatureEnhancement#enhance mutates attributes on the original function
KT-70813 Questionable behavior for calls on ILT receivers
KT-70208 'when' is not exhaustive for expect Boolean
KT-69210 Native: tune LLVM optimization pipeline
KT-70753 K2: Missing non-null assertion on the return value of try-catch block
KT-70012 EXTENSION_SHADOWED_BY_MEMBER shouldn't be reported for actual declarations
KT-70837 K2. "Expected FirResolvedTypeRef with ConeKotlinType but was FirImplicitTypeRefImplWithoutSource" on incorrect call with extension fun
KT-66751 Implement a general deprecation of types with inaccessible type arguments
KT-68748 K2: Remove irFactory from Fir2IrComponents
KT-61659 K2: Implement the EXTENSION_SHADOWED_BY_MEMBER warning
KT-70709 Range for MUST_BE_INITIALIZED shouldn't include property annotations
KT-63294 Do not use duplicated compiler argument names across the codebase
KT-70673 False positive NO_ELSE_IN_WHEN with nullable Boolean as subject
KT-70672 False positive NO_ELSE_IN_WHEN with nullable Enum as subject
KT-69207 Native: use lld when the compiler produces binaries for a Linux target
KT-67696 Native: compiler crashes when loading an LLVM bitcode file of unsupported version
KT-69767 K2: Investigate differences in tests without alias behavior for cyclic expansion
KT-70617 K2: ClassCastException caused by Java enum with overridden name property
KT-68796 Non-first invoke operator calls break chained calls of convention operators after safe navigation operator
KT-67772 K2: Metadata misses NoInfer annotation for unsafeCast result
KT-70304 [FIR2IR] Missing @NoInfer
KT-65085 K2: Get rid of special check for unresolved array literals on argument mapping phase
KT-65066 K1 crashes, K2 doesn't report type mismatch on array literal inside nested annotation call
KT-49235 Kotlin interface limited to 1000 super types
KT-69991 K2/JVM: Backend crash with functional types and KFunctions
KT-7461 Forbid using projection modifiers inside top-level Array in annotation's value parameter
KT-52315 Legacy keywords (header, impl) break enum definitions
KT-69499 Native: aggressive inline of runtime procedures causes compiler crash in debug builds
KT-69737 Native: incompatible target-cpu attributes between runtime and Kotlin code
KT-69911 Unexpected line numbers in default setter
KT-61529 K2: Unexpected FirClassLikeSymbol null with -no-jdk
KT-69475 K2: No "Name contains illegal characters" for package name with dots inside
KT-69484 Native: remove default values for isObjectType
KT-70352 K2: False-negative CONFLICTING_UPPER_BOUNDS on Nothing bound
KT-59781 K2: investigate implicit cast generation in fir2ir vs psi2ir
KT-70036 [FIR2IR] Fix param name in overridden setter
KT-68718 [JVM] Generic function is instantiated with wrong type argument
KT-67983 K2: False negative "Recursive type alias in expansion" at recursive typealiases
KT-70328 K2: @UnsafeVariance stored in the metadata despite the Source retention
KT-70313 K2: Don't add Any supertype to kotlin.Nothing compiled from sources
KT-69982 K2: New errors when executing :kotlin-stdlib:jvmJar
KT-70169 K2: implement a deprecation error for Synchronized, Throws, JvmField on annotation parameters
KT-67651 K2: inconsistency in behavior for SAM constructor with flexible type
KT-63857 K2: Extra operator modifier in metadata
KT-70182 K2: Set up isOperator flag according to operator naming conventions during building synthetic overrides for Java methods
KT-20798 Implement a deprecation warning for reified modifier on type parameters of type alias
KT-68697 K2 IDE / Kotlin Debugger: NSEE "List is empty." when method reference is used in some place in code
KT-70157 K2: false positive JAVA_CLASS_INHERITS_KT_PRIVATE_CLASS for a Java private class
KT-68702 K2 IDE: AE "SyntheticAccessorLowering should not attempt to modify other files!" on evaluating of supermethods toString() and hashCode()
KT-69509 K2 IDE / Kotlin Debugger: exception in lowering ReplaceKFunctionInvokeWithFunctionInvoke when compiling code fragment
KT-66323 K2: Clarify contracts of ConeSubstitutorByMap
KT-69652 K2: False positive "Redundant visibility modifier" with explicitApi()
KT-65815 K2: False-positive NO_RETURN_IN_FUNCTION_WITH_BLOCK_BODY with inline function returning Nothing?
KT-60508 K2/stdlib: compilation of common code fails if built-in types are provided as platform sources
KT-70037 K2: Generate IR body for Any constructor despite that fact it's empty
KT-69870 K2: False positive NO_VALUE_FOR_PARAMETER for override without default but base with default and with enabled KMP
KT-69599 K2: Investiage and fix lots of UNRESOLVED_REFERENCE during building stdlib native with K2
KT-68375 K2: FirPrimaryConstructorSuperTypeChecker fails on generated superclasses
KT-58309 Deal with test failures inside FirTypeEnhancementTestGenerated
KT-27112 Implement prohibition of exposing types via type parameters' bounds
KT-69831 Add long FastJarFS tests to the nightlyFirCompilerTest configuration
KT-69537 K2: Unintentional behavior caused by InferMoreImplicationsFromBooleanExpressions
KT-59814 K2: Explore why FirDataFlowAnalyzer strips away value parameters of non top-level-functions
KT-69069 K2: expect overloads are deprioritized in common code
KT-69511 KJS / K2: False positive IMPLICIT_BOXING_IN_IDENTITY_EQUALS when comparing dynamic with primitive
KT-69500 Native: introduce an option to inline less "ALWAYS_INLINE" runtime procedures
KT-69717 K2: Don't call coneType/coneTypeOrNull extensions on FirResolvedTypeRef
KT-60440 K2/Java: investigate constructor own type parameters enhancement
KT-69871 K2 allows modifier keywords on package declaration
KT-61271 Frontend: "The label does not denote a loop." error message is used even if the label does denote a loop
KT-69768 K2: Investigate differences in tests without alias behavior with typealias to enum entry
KT-63846 K2: incorrect type argument inferred for smart cast value of a generic type
KT-69774 Don't report overload resolution ambiguity if extension receiver contains error type
KT-61316 K2: Consider throwing exception when replaceType is called on special FirExpressions with immutable types
KT-69201 Discard expect candidate in overload conflict resolver if there is no actual
KT-69557 K2: Investigate failures with enabled assertion in ConeResolvedAtom constructor
KT-69783 K2: Make FirTypeProjection sealed
KT-68000 Investigate getting container functions in checkers
KT-69649 K2: Cleanup various utilities about toSymbol conversion
KT-69185 K2: Prepare a test runner for diagnostic tests with type aliases non-expanded automatically
KT-69390 UNRESOLVED_REFERENCE on call with lambda argument turns whole call red
KT-68794 K2 IDE / Kotlin Debugger: ISE "No real overrides for FUN FAKE_OVERRIDE name:privateFun visibility:private modality:FINAL" on calling private function from superclass in debugger
KT-69315 FirJavaGenericVarianceViolationTypeChecker: StackOverflowError
KT-49962 "Visibility inherited is not allowed in forVisibility" when analyzing broken file
KT-24212 Report "This class shouldn't be used in Kotlin" on calling constructor of Java class with Kotlin analog
KT-64195 K2: Consider make FirAnonymousInitializer. containingDeclarationSymbol not null
KT-64254 "Projections are not allowed on type arguments of functions and properties": Type-project type arguments of properties
KT-40533 Error message PROPERTY_WITH_NO_TYPE_NO_INITIALIZER for interface property is not fully correct
KT-20014 Improve diagnostics for lateinit property without initializer and type annotation
KT-51366 False positive error "Value class cannot extend classes" when extending generic interface with wrong number of type arguments
KT-68277 K2: false positive UNREACHABLE_CODE for non-local return/break
KT-69544 K2: Mapped Java @Target annotation's vararg argument has swapped type and elementType
KT-68998 K2: Refactor postponed atoms
KT-69288 Native: Apple LLVM 16 fork can't read bitcode with memory attribute produced by upstream LLVM 16
KT-67808 K2: Inconsistent properties initialization analysis in init blocks in presence of smartcast on this
KT-69035 K2: Investigate potential removal of FirMangler
KT-69473 Missing suspend-conversion for lambda in the last statement of when with expected type
KT-64640 Prevent mutating SequenceCollection methods from JDK 21 be available on read-only collections
KT-65441 K1: Remove JDK 21 getFirst()/getLast() in (Mutable)List interfaces
KT-54792 Store program order of properties inside @kotlin.Metadata
KT-59832 K2: Fix the TODO about merging values for labels in UnusedChecker
Compose compiler
New features
b/328817808 Added the PausableComposition feature flags
83c48a0 Decoy support for JS target is removed from Compose compiler
Fixes
CMP-6926 iOS compilation failure: Unresolved reference 'copy'
CMP-6842 FAKE_OVERRIDE declarations are not preserved in metadata and should not be marked with annotations
CMP-6788 non-private field compilation warnings (stableprop & ComposableSingletons)
CMP-6685 Native/WASM compilation failure on Composable function with value-type arg + return
b/376058538 Fix stack overflow when inferring stability of indirect generic loop
b/339322843 Transform @Composable property delegate references
b/366040842, b/365066530 Replace deep copy in Compose plugin with in-place type mutation
- [
b/329477544](https://issuetracker.google.com/issues/32947754
Configuration
📅 Schedule: Branch creation - "* 0-3 * * *" (UTC), Automerge - At any time (no schedule defined).
🚦 Automerge: Disabled by config. Please merge this manually once you are satisfied.
♻ 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 was generated by Mend Renovate. View the repository job log.
This PR contains the following updates:
1.5.13->1.5.151.7.10->2.1.01.9.22->2.1.01.9.22->2.1.01.3.61->2.1.01.9.23->2.1.0Release Notes
JetBrains/kotlin (org.jetbrains.kotlin:kotlin-gradle-plugin)
v2.1.0: Kotlin 2.1.0Changelog
Analysis API
New Features
KT-68603KotlinDirectInheritorsProvider: add an option to ignore non-kotlin resultsPerformance Improvements
KT-70757Performance problem in KaFirVisibilityChecker for KaFirPsiJavaClassSymbolFixes
KT-70437Class reference is not resolvableKT-57733Analysis API: Use optimizedModuleWithDependenciesScopes in combined symbol providersKT-72389K2: False positive "Redundant 'protected' modifier" for protected property inside protected constructor from private or internal classKT-69190K2: False-positive "redundant private modifier"KT-64984Analysis API: Support Wasm targetKT-70375K2: NPE at org.jetbrains.kotlin.analysis.api.fir.symbols.KaFirNamedClassSymbolBase.createPointerKT-71259K2 evaluator: Invalid smart cast info collecting for Code FragmentsKT-69360Lack of implicit receiver for the last statement under lambda in scriptsKT-70890Analysis API: Experiment with weak references to LL FIR/analysis sessions in session cachesKT-70657Analysis API: Inner types from classes with generics are incorrectly represented by the compiled jarsKT-71055Suspend calls inside 'analyze()' break the block guaranteesKT-70815Analysis API: Implement stop-the-world session invalidationKT-69819K2 IDE: LHS type in callable references is unresolved when it has type arguments and is qualifiedKT-68761Analysis API: Experiment with limited-size cache inKaFirSessionProviderKT-70384Analysis API Standalone: The same class in the same two renamed jars is unresolvedKT-71067Exceptions from references cancel Find UsagesKT-69535Redesign 'containingSymbol'KT-71025K2 IDE: Scopes in "importingScopeContext" have reversed ordering and "indexInTower" valuesKT-67483K2 IDE: Serializable plugin causes infinite resolve recursion when there is a star import from a class with annotation callKT-69416K2 IDE / Completion: "No classifier found" on simple value creatingKT-70257CCE: class kotlin.UInt cannot be cast to class java.lang.NumberKT-70376K2 IDE / Kotlin Debugger: IAE "Only componentN functions should be cached this way, but got: toString" on evaluating toString() method for value classKT-70264AA: service registration via XML fails with AbstractMethodError in Lint CLIKT-69950Analysis API: IntroduceisSubtypeOf(ClassId)KT-68625K2: "lazyResolveToPhase(STATUS)cannot be called from a transformer with a phase STATUS."KT-67665K2: contract violation for value class with a constructor parameter with an implicit typeKT-67009Analysis API: Add abbreviated type tests for type aliases from source modulesKT-69977KaFirFunctionalType#getAbbreviation is always nullKT-68341Analysis API: Expanded function types from libraries don't have an abbreviated typeKT-68857Analysis API: Refactor annotationsKT-70386Do not filter out overloads from different libraries in dangling filesKT-65552K2: CANNOT_CHECK_FOR_ERASED in KtTypeCodeFragmentKT-65803K2: Analysis API: KtFirTypeProvider#getSubstitutedSuperTypes throws an exception in the case of "Wrong number of type arguments"KT-68896Support VirtualFile binary dependency inputs to Analysis API modulesKT-69395K2 IDE: incorrect overload selection from binary dependencies in a shared native source setKT-68573ISE: "Unexpected constant value (kotlin/annotation/AnnotationTarget, CLASS)" at Kt1DescUtilsKt.toKtConstantValue()KT-69576Analysis API: FIR implementation of "isImplicitReferenceToCompanion" returns false for companion references in implicit invoke operator callsKT-69568Analysis API: FIR implementation of "isImplicitReferenceToCompanion" returns true for non-companion references in qualified callsKT-69436Analysis API Platform: EncapsulateLLFirDeclarationModificationServiceas an engine serviceKT-63004K2: Analysis API: Design API for querying declarations generated by compiler plugins (similar to indices)KT-69452AA FIR: wrong source PSI after compile-time evaluationKT-69598AA: definitely not-null type at receiver position should be wrapped in parenthesisKT-60484Analysis API: add support for KtType pointers similar to KtSymbolPointerKT-68884Analysis API: Rename/deprecate/remove declarations as part of StabilizationKT-69453AA FIR: miss to handle expected type of lambda with explicit labelKT-69533Protect implementation parts of Analysis API with opt-in annotationsAnalysis API. FIR
Performance Improvements
KT-71566FirElementBuilder#getFirForNonKtFileElement should iterate a Psi file over and overKT-71224Analysis API:FirElementFinder.collectDesignationPathrelies on naive iteration through FIR filesFixes
KT-70327Analysis API: Batch inspection causes deadlock inValueWithPostComputeKT-69070Analysis API: Querying declared member scope for Java symbols results in exception in some use casesKT-68268LLSealedInheritorsProvider: reduce scope to kotlin filesKT-69671TYPES phase contract violation through JavaSymbolProviderKT-70624Declaration symbols from code fragments are treated as not localKT-70662NPE: FirLazyBodiesCalculatorKt.calculateLazyBodyForPropertyKT-70859Do not fail highlighting due to resolution problemsKT-70474FirLazyResolveContractViolationException from JavaSymbolProviderKT-70323FirLazyResolveContractViolationException:lazyResolveToPhase(TYPES)cannot be called from a transformer with a phase TYPESKT-71567LLFirCompilerRequiredAnnotationsTargetResolver should calculate annotation arguments on demandKT-71584getNonLocalContainingOrThisDeclarationtreats KtParameter from functional type as non-localAnalysis API. Light Classes
Performance Improvements
KT-69998Drop redundant cache from ClassInnerStuffCacheFixes
KT-69833Support value classesKT-71693Wrong name mangling for JvmField class property and companion property clashKT-71469KtLightClassForDecompiledDeclaration: missed kotlinOriginKT-70710Provide light classes for KMP modules in Android LintKT-70548SLC: text of class object access expression is not the same as raw textKT-70572SLC: missingisInheritorimplementation for type parameterKT-70491SLC: inconsistent source PSI of no-arg constructor for all default valuesKT-70458SLC: missedauxiliaryOriginalElementfor delegated propertyKT-70232Support a companion object inside value classesKT-70349@delegate:` annotations are missed for light class fieldsKT-68328Move KtLightClassBase to ULCAnalysis API. Providers and Caches
KT-65618K2: resulted FirClass.psi != requested PsiClass from completionKT-69292K2: Analysis API: A property'sMUST_BE_INITIALIZEDdiagnostic is not updated after changingfieldusage in an accessorKT-71468Drop redundant logic from LLFirJavaFacadeForBinariesKT-71700Cache result of resolveToCallKT-71520Analysis API:LLFirNativeForwardDeclarationsSymbolProviderspends a lot of time in indicesAnalysis API. Standalone
KT-65110Analysis API: In Standalone mode the order of symbols is unstableAnalysis API. Stubs and Decompilation
KT-71565KtClassOrObject should use isLocal from greenStubAnalysis API. Surface
New Features
KT-69960resolveToCallCandidatesshould support operatorsKT-69961resolveToCallCandidatesshould support propertiesPerformance Improvements
KT-70529KaSymbol: reduce the number ofcachedusagesKT-70165Introduce PSI-basedKaSymbols for K2Fixes
KT-69371Analysis API: expose only interfaces/abstract classes for the resolution APIKT-69696KaSymbolByFirBuilder should filter call-site substitutionsKT-69679KaDelegatedConstructorCall should have substituted signatureKT-70206anonymousSymbolAPI throws an exception for regular functionsKT-69699Receiver type is not substituted in the case of conflict declarationsKT-69381Analysis API: Investigate the viability of currentKaSymbolcachesKT-70199K2: ConcurrentModificationException at FirCallCompleter$LambdaAnalyzerImpl.analyzeAndGetLambdaReturnArgumentsKT-70661Invalid FirDeclarationOrigin ScriptTopLevelDestructuringDeclarationContainerKT-70663KaFirDestructuringDeclarationSymbol: Failed requirementKT-63490Analysis API: Accessing the Analysis API should be prohibited during dumb modeKT-63390K2: Analysis API: add annotations to KtClassInitializerSymbolKT-55124Design common ancestor for KtValueParameter and KtReceiverParameterSymbolKT-71731directlyOverridenSymbols/allOverridenSymbols works incorrectly for intersection overridesApple Ecosystem
KT-66262Deprecate and remove support for bitcode embedding from the Kotlin Gradle pluginKT-66894XCFramework task fails when name passed to xcframework DSL is different from framework's nameKT-65675XCFrameworkTask produces an xcframework with mismatched casing in embedded frameworksKT-69119xcodeVersion task fails if Xcode isn't installed and apple-specific native targets aren't declaredBackend. Wasm
New Features
KT-70786Improve DX of the variable view during debugging in Chrome/Firefox for Kotlin/WasmKT-70331Support incremental compilation for the Wasm backendKT-71686K/Wasm: Add functions to convert between Kotlin and JS array typesKT-68185[WasmJs] Attach js exception object to JsExceptionFixes
KT-71294Wasm Artifacts/Resource are being loaded relatively instead of absolutelyKT-71473K/Wasm: Use--closed-worldand related options for BinaryenKT-72297[Wasm] Unused associated object class lead to compiler failKT-72156custom-formatters.js exists in JAR after publishToMavenLocal but not in the published artifact in Maven publicKT-65799K/Wasm: remove default exports from wasm exportsKT-71800Wasm compiler: Fix member generation for data classes with an array-type propertyKT-71580String::toFloat on wasm behaves differently compared to other targetsKT-71523K/Wasm: cleanup after fix for KT-71474KT-71475K/Wasm: KClass::qualifiedName returns incorrect result for nested or companion objectsKT-71474K/Wasm: KProperty*Impl equals work incorrectly for clabbale reference created in different files or modulesKT-61130K/Wasm: Function signatures may clash with base class internal methods from a friend moduleKT-70820[Kotlin QG] wasm-validator fails when running compile[...]KotlinWasmJsOptimizeKT-70819[Kotlin QG] node.js fails when running wasmJs[...]Test KGP tasksKT-70394Investigate increased wasm binary size after switching stdlib compilation to K2KT-69627Removecreate###Arrayfunctions from WASM stdlibKT-68509Fatal: error validating input in compileProductionExecutableKotlinWasmJsOptimizeCompiler
New Features
KT-71094Kotlin/Native incremental compilation: fail compilation if cache build failedKT-21908Support 'when' exhaustiveness checking for generic type parameter with sealed class upper boundKT-70679Kotlin/Native: fill WritableTypeInfo from Swift Export type mappingKT-59798Builder inference is not working when combined withletexpressionKT-54227Cannot use nullable Nothing as reified type parameterKT-71430Kotlin-to-Java direct actualization implementationKT-68163Expose supplementary compiler warnings via CLIKT-69321Swift export: enable auto-linkage of binary dependenciesKT-11526Improve diagnostics for "X overrides nothing"KT-49710False positive NO_ELSE_IN_WHEN with nullable type as receiverKT-69729Support calling super interface Java methods from Kotlin interfaceKT-69508Improve "Public-API inline function cannot access non-public-API" check for the inline property accessorsPerformance Improvements
KT-71353FP Kotlin performance degradation (around Cone types hierarchy changes)KT-71159[K2] OOM on large enum classes with fieldsKT-69718K2: Check for jvm nullability annotations in fir2ir is slowKT-68417Native: LLVM 16 inliner is slow on K/N-produced modulesKT-63971K2: Redundant@ParameterNamein abbreviated type in metadataFixes
KT-71550JVM IR: NPE on identity equals of boolean true with nullKT-72214-fpass-plugin (clangFlags) is not applied since Kotlin 2.0.20KT-68933CompilationException: Back-end: Could not get inlined classKT-72255Promote jspecify from warning to errorKT-73065CCE with context receiversKT-61033K2: implement a diagnostic corresponding to K1's MISSING_BUILT_IN_DECLARATIONKT-72345K2: Method 'get' without@Overrideannotation not calledKT-71260K2: Internal compiler error in IrFakeOverrideSymbolBase.getOwner when there is no actual for expectKT-72996false-positive unresolved reference error on an overloaded callable reference in a lambda return position on the left-hand size of an elvis operatorKT-72552AutoboxingTransformer fails on during linkage on nested lambdas with cinteroped typesKT-71751K2: Skipping code in last statement of lambdaKT-71121Kotlin/JS incremental compilation fails with KotlinIllegalArgumentExceptionWithAttachmentsKT-60521Drop language versions 1.4 and 1.5KT-70461K2: "Inline class types should have the same representation" caused by value class and smart checkKT-72238Argument type mismatch in builder inside extension function after ?:KT-70306K2: Lambdas are unserializable: inferred from Java param? super IKT-67383Incorrect optimisation when optimising for loop with UByteKT-68653Switch latest stable language version in Kotlin project to 2.1KT-71708False negative UNSUPPORTED for collection literals as trailing return valueKT-72281K/N: "Failed to wait for cache to be built"KT-72017Enum property reflection returning null KClassifier property for Enum classes defined inside Kotlin ScriptsKT-69040PCLA: deal with "deep" calls that can be fully analyzed properlyKT-69920K2: java.lang.IllegalArgumentException: FirNamedArgumentExpressionImpl.replaceConeTypeOrNull() during Space project compilationKT-69549Try to move callable reference transformation earlier in pipelineKT-63944Kotlin/Native: Cache flavor selection doesn't respect GC kindKT-71649K2: Put operator on mutableMap<T?, V>() causes crashes on null keyKT-70667K2: "Type parameter * has inconsistent bounds" caused by wildcard and where-clauseKT-70562@SubclassOptInRequiredcannot accept multiple experimental markerKT-69407K2: Compiler crash (Shouldn't be here) due to unresolved reference in FirProjectionRelationCheckerKT-71508JAVA_CLASS_INHERITS_KT_PRIVATE_CLASS isn't reported when java class is inherited from an effectively private classKT-72178K2: "Unexpected FirPlaceholderProjectionImpl" exception when using "_" as key type in EnumMapKT-70407Error/warning message for@SubclassOptInRequired-annotated class should provide more contextKT-72302K2: no error on type operator in annotation parameter default valueKT-58820OPT_IN_USAGE_ERROR's message text does not account for SubclassOptInRequiredKT-71662PCLA: a type variable is not fixed on demand to a type containing a not-fixed type variableKT-69739K2: "KotlinIllegalArgumentExceptionWithAttachments: Unexpected FirPlaceholderProjectionImpl" caused by unresolved referencesKT-72154Dokka fails withnot array: KClass<out Annotation>on Kotlin 2.1.20-dev with@SubclassOptInRequiredKT-70756K2. Compiler crash with FileAnalysisException on incorrect symbol in nesting lambdaKT-72173K2: simple object names from root package are resolved without imports in non-root packages when used as valuesKT-71480JAVA_CLASS_INHERITS_KT_PRIVATE_CLASS isn't reported while java object isn't createdKT-71034Failing compiler/testData/codegen/box/inlineClasses/kt70461.ktKT-71016K/Wasm: Failing compiler/testData/codegen/box/inlineClasses/kt70461.ktKT-52469Deprecate reified type parameter instantiating into intersection typesKT-71753PCLA: false-negative operator ambiguity error on fixing a type variable on demand for an operator assignmentKT-59871K2: Fix introduced diagnosticsKT-71563'llegalStateException: Source classes should be created separately before referencing' when actualized through typealias and java direct actualizationKT-64741Avoid leaking ConeTypeVariable types in diagnostics from PCLAKT-60447Builder inference fails to infer generic type argument from local classKT-69170K2: "Unresolved reference" caused by generics and fun interfacesKT-71756K2 evaluator: broken resolve of private members during debug of Kotlin project itselfKT-68893Invalid annotation in contract crashes with K2KT-71490K2: missing REDUNDANT_ELSE_IN_WHENKT-64403Implement BlackBoxCodegenTestSpecGenerated for K2KT-71551JVM IR K1: NPE on generating a function imported from an object from another moduleKT-71210K2: false negative FUNCTION_CALL_EXPECTED / NESTED_CLASS_ACCESSED_VIA_INSTANCE_REFERENCE with companion objectsKT-71528K2/JVM: ClassCastException around Array<Nothing?>KT-71228K2: "IllegalArgumentException: Failed requirement" caused by lambda parameter and class typeKT-71738K2: False negative REDECLARATION inside object expressionKT-71701K2: false positive CAN_BE_VAL with lateinit and non-in-place lambdaKT-68694K2 IDE / Kotlin Debugger: AE "Unresolved reference: <HIDDEN: samples/gen/classes/enum class/EnumClass.lam is invisible" on evaluating private lambda inside enum entryKT-70970K2 IDE / Kotlin Debugger: AE "Only assignable IrValues can be set" on calling overloaded inc() operator on interfaceKT-70824K2: NoSuchFieldException when evaluating private extension propertyKT-70390K2 IDE / Kotlin Debugger: can't invoke lambda from private class during evaluationKT-68701K2 IDE / Kotlin Debugger: AE "ERROR_CALL 'Unresolved reference: <HIDDEN: /privateLambda is invisible>#' type=IrErrorType(null)" on evaluating private top-level lambdaKT-68695K2 IDE / Kotlin Debugger: AE "Unsupported callable reference" on evaluating ::lateinitStr on private lateinit propertyKT-70861K2 IDE / Kotlin Debugger: can't evaluate Clazz::class call for private classKT-34911Improve error message for WRONG_ANNOTATION_TARGET: list applicable targetsKT-71601K2: When with a subject of type dynamic always considered exhaustiveKT-33091Kotlin/Native: Compiler crashes if an external class is declaredKT-59651K1/K2: Assertion error on external enum usage attemptKT-69939Extract a category of internal FIR checkers from supplementary FIR checkersKT-70850Pull down typeArguments from ConeKotlinType to ConeClassLikeTypeKT-71117K2: "IllegalArgumentException: No type for StarProjection" with star projection and function typeKT-71251Native & JS K2: Missing check for callingisInitializedinside inline funKT-70161Native: extracting LLVM 16 on Linux makes the compiler print many "Ignoring unknown extended header keyword 'LIBARCHIVE.creationtime'" messagesKT-71215K2: UB due to the erroneous greening of the red code with multiple delegation with javaKT-59386K2: Missing CONSTANT_EXPECTED_TYPE_MISMATCHKT-69564Make using -Xuse-k2 compiler flag an errorKT-69756TypeOfLowering: don't create constant object nodes before inliningKT-66328K2: implement an error for KT-66324KT-71046K/N: a separate lowering to convert function reference to IrConstantObjectKT-69223Drop parallel lowering mode in JVM backendKT-70260@JsPlainObject: improve compiler error if a method is presentKT-67739Improve error message when JDK used in -Xjdk-release has corrupted class filesKT-63964K2: different naming of classes defined in script in metadataKT-70014Common inference: introduce rigidTypeMarkerKT-71352Cannot load script definition class org.gradle.kotlin.dsl.KotlinProjectScriptTemplateKT-63502Getting java.lang.ClassNotFoundException: javaslang.λ during compilationKT-66316Kotlin/Native: make@Escapesannotation required for all external functionsKT-69653Prohibit exposing types via type parameters' boundsKT-68451Inconsistent rules of CFA in enum initialization blockKT-70893K2: Bogus NO_COMPANION_OBJECT on resolve to private qualifierKT-70965FIR/AA: Initializers for Java annotation arguments mapping capture use-site sessionsKT-63945K2: Prevent possible diagnostic lossKT-64453K2: Implement ComposeLikeIr...TestGenerated for K2KT-30424Confusing error message "modality is different"KT-70846ReplaceConeKotlinType.nullabilitywithisMarkedNullableon specific typesKT-56720K2: false positive MANY_IMPL_MEMBER_NOT_IMPLEMENTED in case of delegation in diamond inheritanceKT-69937Define & enforce user-friendly terminology for extended checkersKT-64406K2: Implement CompileKotlinAgainstJavaTestGenerated for K2KT-69938Validate sets of default compiler warnings and supplementary compiler warningsKT-68971Investigate suspicious fragmentation of FIR trees for string literals with interpolationKT-71073Multi-dollar strings: parser grabs too much if backticks follow a short sequence of '$'KT-71213Rethrow exceptions in checkers with some useful attachmentsKT-70395K2: "Captured Type does not have a classifier" caused byouttype and interface hierarchyKT-70133K2: false negative UNINITIALIZED_VARIABLE when postponed lambda is created before initializationKT-70625K2: ClassCastException caused by function reference, star projection and invariant type parameterKT-70835K2: "TYPE_MISMATCH" caused by operator assignmentKT-70366K2: "KotlinIllegalArgumentExceptionWithAttachments: Failed to find functional supertype for class "KT-68834Parentheses don't influence calls of any convention operators (except invoke operator) after safe navigation operatorKT-70358K2: "java.lang.IllegalArgumentException: No type for StarProjection" when using a star projection on a function typeKT-69298K2: "Initializer type mismatch" caused by elvis operator type inference for nullable typealiasKT-71189K2: emit 'DELEGATE_SPECIAL_FUNCTION_MISSING' and 'DELEGATE_SPECIAL_FUNCTION_NONE_APPLICABLE' on 'by' keywordKT-71178K2: False negative NO_ELSE_IN_WHEN in when over nullable type with!is Nothing?checkKT-70812False positive NO_ELSE_IN_WHEN with nullable type argument as subjectKT-70947False positive NO_ELSE_IN_WHEN with DNN subject and nullable sealed class upper boundKT-70752Review diagnostics with whole declaration as rangeKT-71160K2: Rendering of flexible collection types and arrays is too verboseKT-61227Definitely non-nullable types cause "Any was expected" for@NullableparameterKT-69389K2: NONE_APPLICABLE instead of more useful "type mismatch" error with overloads and parameter nullability mismatchKT-69829Missed UNRESOLVED_LABEL for label in returns and loopsKT-61223JDK 21: new addFirst/addLast and putFirst/putLast methods allow adding nullable value for non-null typesKT-66742Supertypes with inaccessible type arguments are allowedKT-62906Type system: consider changing simple type & DNN type relationKT-70104Update the error message for calling super Java interface methods caseKT-69794K2: Wrong target is reported for EXPOSED_SUPER_INTERFACE diagnosticKT-70724False-positive UNINITIALIZED_VARIABLE for inline constructor with late-initialized variablesKT-70749False-positive UNINITIALIZED_VARIABLE for inline fun with crossinline modifierKT-65805Migrate builtins serializer to K2KT-71004FirSignatureEnhancement#enhance mutates attributes on the original functionKT-70813Questionable behavior for calls on ILT receiversKT-70208'when' is not exhaustive for expect BooleanKT-69210Native: tune LLVM optimization pipelineKT-70753K2: Missing non-null assertion on the return value of try-catch blockKT-70012EXTENSION_SHADOWED_BY_MEMBER shouldn't be reported for actual declarationsKT-70837K2. "Expected FirResolvedTypeRef with ConeKotlinType but was FirImplicitTypeRefImplWithoutSource" on incorrect call with extension funKT-66751Implement a general deprecation of types with inaccessible type argumentsKT-68748K2: RemoveirFactoryfromFir2IrComponentsKT-61659K2: Implement theEXTENSION_SHADOWED_BY_MEMBERwarningKT-70709Range for MUST_BE_INITIALIZED shouldn't include property annotationsKT-63294Do not use duplicated compiler argument names across the codebaseKT-70673False positive NO_ELSE_IN_WHEN with nullable Boolean as subjectKT-70672False positive NO_ELSE_IN_WHEN with nullable Enum as subjectKT-69207Native: use lld when the compiler produces binaries for a Linux targetKT-67696Native: compiler crashes when loading an LLVM bitcode file of unsupported versionKT-69767K2: Investigate differences in tests without alias behavior for cyclic expansionKT-70617K2: ClassCastException caused by Java enum with overriddennamepropertyKT-68796Non-first invoke operator calls break chained calls of convention operators after safe navigation operatorKT-67772K2: Metadata misses NoInfer annotation for unsafeCast resultKT-70304[FIR2IR] Missing@NoInferKT-65085K2: Get rid of special check for unresolved array literals on argument mapping phaseKT-65066K1 crashes, K2 doesn't report type mismatch on array literal inside nested annotation callKT-49235Kotlin interface limited to 1000 super typesKT-69991K2/JVM: Backend crash with functional types and KFunctionsKT-7461Forbid using projection modifiers inside top-level Array in annotation's value parameterKT-52315Legacy keywords (header, impl) break enum definitionsKT-69499Native: aggressive inline of runtime procedures causes compiler crash in debug buildsKT-69737Native: incompatible target-cpu attributes between runtime and Kotlin codeKT-69911Unexpected line numbers in default setterKT-61529K2: Unexpected FirClassLikeSymbol null with -no-jdkKT-69475K2: No "Name contains illegal characters" for package name with dots insideKT-69484Native: remove default values forisObjectTypeKT-70352K2: False-negative CONFLICTING_UPPER_BOUNDS onNothingboundKT-59781K2: investigate implicit cast generation in fir2ir vs psi2irKT-70036[FIR2IR] Fix param name in overridden setterKT-68718[JVM] Generic function is instantiated with wrong type argumentKT-67983K2: False negative "Recursive type alias in expansion" at recursive typealiasesKT-70328K2:@UnsafeVariancestored in the metadata despite the Source retentionKT-70313K2: Don't addAnysupertype tokotlin.Nothingcompiled from sourcesKT-69982K2: New errors when executing:kotlin-stdlib:jvmJarKT-70169K2: implement a deprecation error for Synchronized, Throws, JvmField on annotation parametersKT-67651K2: inconsistency in behavior for SAM constructor with flexible typeKT-63857K2: Extraoperatormodifier in metadataKT-70182K2: Set upisOperatorflag according to operator naming conventions during building synthetic overrides for Java methodsKT-20798Implement a deprecation warning for reified modifier on type parameters of type aliasKT-68697K2 IDE / Kotlin Debugger: NSEE "List is empty." when method reference is used in some place in codeKT-70157K2: false positive JAVA_CLASS_INHERITS_KT_PRIVATE_CLASS for a Java private classKT-68702K2 IDE: AE "SyntheticAccessorLowering should not attempt to modify other files!" on evaluating of supermethods toString() and hashCode()KT-69509K2 IDE / Kotlin Debugger: exception in lowering ReplaceKFunctionInvokeWithFunctionInvoke when compiling code fragmentKT-66323K2: Clarify contracts ofConeSubstitutorByMapKT-69652K2: False positive "Redundant visibility modifier" with explicitApi()KT-65815K2: False-positive NO_RETURN_IN_FUNCTION_WITH_BLOCK_BODY with inline function returning Nothing?KT-60508K2/stdlib: compilation of common code fails if built-in types are provided as platform sourcesKT-70037K2: Generate IR body forAnyconstructor despite that fact it's emptyKT-69870K2: False positive NO_VALUE_FOR_PARAMETER for override without default but base with default and with enabled KMPKT-69599K2: Investiage and fix lots ofUNRESOLVED_REFERENCEduring building stdlib native with K2KT-68375K2: FirPrimaryConstructorSuperTypeChecker fails on generated superclassesKT-58309Deal with test failures inside FirTypeEnhancementTestGeneratedKT-27112Implement prohibition of exposing types via type parameters' boundsKT-69831Add long FastJarFS tests to thenightlyFirCompilerTestconfigurationKT-69537K2: Unintentional behavior caused by InferMoreImplicationsFromBooleanExpressionsKT-59814K2: Explore whyFirDataFlowAnalyzerstrips away value parameters of non top-level-functionsKT-69069K2: expect overloads are deprioritized in common codeKT-69511KJS / K2: False positive IMPLICIT_BOXING_IN_IDENTITY_EQUALS when comparing dynamic with primitiveKT-69500Native: introduce an option to inline less "ALWAYS_INLINE" runtime proceduresKT-69717K2: Don't callconeType/coneTypeOrNullextensions onFirResolvedTypeRefKT-60440K2/Java: investigate constructor own type parameters enhancementKT-69871K2 allows modifier keywords onpackagedeclarationKT-61271Frontend: "The label does not denote a loop." error message is used even if the label does denote a loopKT-69768K2: Investigate differences in tests without alias behavior with typealias to enum entryKT-63846K2: incorrect type argument inferred for smart cast value of a generic typeKT-69774Don't report overload resolution ambiguity if extension receiver contains error typeKT-61316K2: Consider throwing exception when replaceType is called on special FirExpressions with immutable typesKT-69201Discard expect candidate in overload conflict resolver if there is no actualKT-69557K2: Investigate failures with enabled assertion inConeResolvedAtomconstructorKT-69783K2: Make FirTypeProjection sealedKT-68000Investigate getting container functions in checkersKT-69649K2: Cleanup various utilities abouttoSymbolconversionKT-69185K2: Prepare a test runner for diagnostic tests with type aliases non-expanded automaticallyKT-69390UNRESOLVED_REFERENCE on call with lambda argument turns whole call redKT-68794K2 IDE / Kotlin Debugger: ISE "No real overrides for FUN FAKE_OVERRIDE name:privateFun visibility:private modality:FINAL" on calling private function from superclass in debuggerKT-69315FirJavaGenericVarianceViolationTypeChecker: StackOverflowErrorKT-49962"Visibility inherited is not allowed in forVisibility" when analyzing broken fileKT-24212Report "This class shouldn't be used in Kotlin" on calling constructor of Java class with Kotlin analogKT-64195K2: Consider makeFirAnonymousInitializer. containingDeclarationSymbolnot nullKT-64254"Projections are not allowed on type arguments of functions and properties": Type-project type arguments of propertiesKT-40533Error message PROPERTY_WITH_NO_TYPE_NO_INITIALIZER for interface property is not fully correctKT-20014Improve diagnostics for lateinit property without initializer and type annotationKT-51366False positive error "Value class cannot extend classes" when extending generic interface with wrong number of type argumentsKT-68277K2: false positive UNREACHABLE_CODE for non-localreturn/breakKT-69544K2: Mapped Java@Targetannotation's vararg argument has swapped type and elementTypeKT-68998K2: Refactor postponed atomsKT-69288Native: Apple LLVM 16 fork can't read bitcode with memory attribute produced by upstream LLVM 16KT-67808K2: Inconsistent properties initialization analysis in init blocks in presence of smartcast on thisKT-69035K2: Investigate potential removal of FirManglerKT-69473Missing suspend-conversion for lambda in the last statement of when with expected typeKT-64640Prevent mutating SequenceCollection methods from JDK 21 be available on read-only collectionsKT-65441K1: Remove JDK 21 getFirst()/getLast() in (Mutable)List interfacesKT-54792Store program order of properties inside@kotlin.MetadataKT-59832K2: Fix the TODO about merging values for labels in UnusedCheckerCompose compiler
New features
b/328817808Added the PausableComposition feature flags83c48a0Decoy support for JS target is removed from Compose compilerFixes
CMP-6926iOS compilation failure: Unresolved reference 'copy'CMP-6842FAKE_OVERRIDE declarations are not preserved in metadata and should not be marked with annotationsCMP-6788non-private field compilation warnings (stableprop & ComposableSingletons)CMP-6685Native/WASM compilation failure on Composable function with value-type arg + returnb/376058538Fix stack overflow when inferring stability of indirect generic loopb/339322843Transform@Composableproperty delegate referencesb/366040842,b/365066530Replace deep copy in Compose plugin with in-place type mutationb/329477544](https://issuetracker.google.com/issues/32947754Configuration
📅 Schedule: Branch creation - "* 0-3 * * *" (UTC), Automerge - At any time (no schedule defined).
🚦 Automerge: Disabled by config. Please merge this manually once you are satisfied.
♻ 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 was generated by Mend Renovate. View the repository job log.