Update Kotlin, KSP and Compose Compiler to v2 (major) #18
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
This PR contains the following updates:
1.9.25
->2.1.0
1.9.25
->2.1.0
1.9.25
->2.1.0
Release Notes
JetBrains/kotlin (org.jetbrains.kotlin.plugin.parcelize)
v2.1.0
: Kotlin 2.1.0Changelog
Analysis API
New Features
KT-68603
KotlinDirectInheritorsProvider: add an option to ignore non-kotlin resultsPerformance Improvements
KT-70757
Performance problem in KaFirVisibilityChecker for KaFirPsiJavaClassSymbolFixes
KT-70437
Class reference is not resolvableKT-57733
Analysis API: Use optimizedModuleWithDependenciesScope
s in combined symbol providersKT-72389
K2: False positive "Redundant 'protected' modifier" for protected property inside protected constructor from private or internal classKT-69190
K2: False-positive "redundant private modifier"KT-64984
Analysis API: Support Wasm targetKT-70375
K2: NPE at org.jetbrains.kotlin.analysis.api.fir.symbols.KaFirNamedClassSymbolBase.createPointerKT-71259
K2 evaluator: Invalid smart cast info collecting for Code FragmentsKT-69360
Lack of implicit receiver for the last statement under lambda in scriptsKT-70890
Analysis API: Experiment with weak references to LL FIR/analysis sessions in session cachesKT-70657
Analysis API: Inner types from classes with generics are incorrectly represented by the compiled jarsKT-71055
Suspend calls inside 'analyze()' break the block guaranteesKT-70815
Analysis API: Implement stop-the-world session invalidationKT-69819
K2 IDE: LHS type in callable references is unresolved when it has type arguments and is qualifiedKT-68761
Analysis API: Experiment with limited-size cache inKaFirSessionProvider
KT-70384
Analysis API Standalone: The same class in the same two renamed jars is unresolvedKT-71067
Exceptions from references cancel Find UsagesKT-69535
Redesign 'containingSymbol'KT-71025
K2 IDE: Scopes in "importingScopeContext" have reversed ordering and "indexInTower" valuesKT-67483
K2 IDE: Serializable plugin causes infinite resolve recursion when there is a star import from a class with annotation callKT-69416
K2 IDE / Completion: “No classifier found” on simple value creatingKT-70257
CCE: class kotlin.UInt cannot be cast to class java.lang.NumberKT-70376
K2 IDE / Kotlin Debugger: IAE “Only componentN functions should be cached this way, but got: toString” on evaluating toString() method for value classKT-70264
AA: service registration via XML fails with AbstractMethodError in Lint CLIKT-69950
Analysis API: IntroduceisSubtypeOf(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 typeKT-67009
Analysis API: Add abbreviated type tests for type aliases from source modulesKT-69977
KaFirFunctionalType#getAbbreviation is always nullKT-68341
Analysis API: Expanded function types from libraries don't have an abbreviated typeKT-68857
Analysis API: Refactor annotationsKT-70386
Do not filter out overloads from different libraries in dangling filesKT-65552
K2: CANNOT_CHECK_FOR_ERASED in KtTypeCodeFragmentKT-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 modulesKT-69395
K2 IDE: incorrect overload selection from binary dependencies in a shared native source setKT-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 callsKT-69568
Analysis API: FIR implementation of "isImplicitReferenceToCompanion" returns true for non-companion references in qualified callsKT-69436
Analysis API Platform: EncapsulateLLFirDeclarationModificationService
as an engine serviceKT-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 evaluationKT-69598
AA: definitely not-null type at receiver position should be wrapped in parenthesisKT-60484
Analysis API: add support for KtType pointers similar to KtSymbolPointerKT-68884
Analysis API: Rename/deprecate/remove declarations as part of StabilizationKT-69453
AA FIR: miss to handle expected type of lambda with explicit labelKT-69533
Protect implementation parts of Analysis API with opt-in annotationsAnalysis API. FIR
Performance Improvements
KT-71566
FirElementBuilder#getFirForNonKtFileElement should iterate a Psi file over and overKT-71224
Analysis API:FirElementFinder.collectDesignationPath
relies on naive iteration through FIR filesFixes
KT-70327
Analysis API: Batch inspection causes deadlock inValueWithPostCompute
KT-69070
Analysis API: Querying declared member scope for Java symbols results in exception in some use casesKT-68268
LLSealedInheritorsProvider: reduce scope to kotlin filesKT-69671
TYPES phase contract violation through JavaSymbolProviderKT-70624
Declaration symbols from code fragments are treated as not localKT-70662
NPE: FirLazyBodiesCalculatorKt.calculateLazyBodyForPropertyKT-70859
Do not fail highlighting due to resolution problemsKT-70474
FirLazyResolveContractViolationException from JavaSymbolProviderKT-70323
FirLazyResolveContractViolationException:lazyResolveToPhase(TYPES)
cannot be called from a transformer with a phase TYPESKT-71567
LLFirCompilerRequiredAnnotationsTargetResolver should calculate annotation arguments on demandKT-71584
getNonLocalContainingOrThisDeclaration
treats KtParameter from functional type as non-localAnalysis API. Light Classes
Performance Improvements
KT-69998
Drop redundant cache from ClassInnerStuffCacheFixes
KT-69833
Support value classesKT-71693
Wrong name mangling for JvmField class property and companion property clashKT-71469
KtLightClassForDecompiledDeclaration: missed kotlinOriginKT-70710
Provide light classes for KMP modules in Android LintKT-70548
SLC: text of class object access expression is not the same as raw textKT-70572
SLC: missingisInheritor
implementation for type parameterKT-70491
SLC: inconsistent source PSI of no-arg constructor for all default valuesKT-70458
SLC: missedauxiliaryOriginalElement
for delegated propertyKT-70232
Support a companion object inside value classesKT-70349
@delegate
:` annotations are missed for light class fieldsKT-68328
Move KtLightClassBase to ULCAnalysis API. Providers and Caches
KT-65618
K2: resulted FirClass.psi != requested PsiClass from completionKT-69292
K2: Analysis API: A property'sMUST_BE_INITIALIZED
diagnostic is not updated after changingfield
usage in an accessorKT-71468
Drop redundant logic from LLFirJavaFacadeForBinariesKT-71700
Cache result of resolveToCallKT-71520
Analysis API:LLFirNativeForwardDeclarationsSymbolProvider
spends a lot of time in indicesAnalysis API. Standalone
KT-65110
Analysis API: In Standalone mode the order of symbols is unstableAnalysis API. Stubs and Decompilation
KT-71565
KtClassOrObject should use isLocal from greenStubAnalysis API. Surface
New Features
KT-69960
resolveToCallCandidates
should support operatorsKT-69961
resolveToCallCandidates
should support propertiesPerformance Improvements
KT-70529
KaSymbol: reduce the number ofcached
usagesKT-70165
Introduce PSI-basedKaSymbol
s for K2Fixes
KT-69371
Analysis API: expose only interfaces/abstract classes for the resolution APIKT-69696
KaSymbolByFirBuilder should filter call-site substitutionsKT-69679
KaDelegatedConstructorCall should have substituted signatureKT-70206
anonymousSymbol
API throws an exception for regular functionsKT-69699
Receiver type is not substituted in the case of conflict declarationsKT-69381
Analysis API: Investigate the viability of currentKaSymbol
cachesKT-70199
K2: ConcurrentModificationException at FirCallCompleter$LambdaAnalyzerImpl.analyzeAndGetLambdaReturnArgumentsKT-70661
Invalid FirDeclarationOrigin ScriptTopLevelDestructuringDeclarationContainerKT-70663
KaFirDestructuringDeclarationSymbol: Failed requirementKT-63490
Analysis API: Accessing the Analysis API should be prohibited during dumb modeKT-63390
K2: Analysis API: add annotations to KtClassInitializerSymbolKT-55124
Design common ancestor for KtValueParameter and KtReceiverParameterSymbolKT-71731
directlyOverridenSymbols/allOverridenSymbols works incorrectly for intersection overridesApple Ecosystem
KT-66262
Deprecate and remove support for bitcode embedding from the Kotlin Gradle pluginKT-66894
XCFramework task fails when name passed to xcframework DSL is different from framework's nameKT-65675
XCFrameworkTask produces an xcframework with mismatched casing in embedded frameworksKT-69119
xcodeVersion task fails if Xcode isn't installed and apple-specific native targets aren't declaredBackend. Wasm
New Features
KT-70786
Improve DX of the variable view during debugging in Chrome/Firefox for Kotlin/WasmKT-70331
Support incremental compilation for the Wasm backendKT-71686
K/Wasm: Add functions to convert between Kotlin and JS array typesKT-68185
[WasmJs] Attach js exception object to JsExceptionFixes
KT-71294
Wasm Artifacts/Resource are being loaded relatively instead of absolutelyKT-71473
K/Wasm: Use--closed-world
and related options for BinaryenKT-72297
[Wasm] Unused associated object class lead to compiler failKT-72156
custom-formatters.js exists in JAR after publishToMavenLocal but not in the published artifact in Maven publicKT-65799
K/Wasm: remove default exports from wasm exportsKT-71800
Wasm compiler: Fix member generation for data classes with an array-type propertyKT-71580
String::toFloat on wasm behaves differently compared to other targetsKT-71523
K/Wasm: cleanup after fix for KT-71474KT-71475
K/Wasm: KClass::qualifiedName returns incorrect result for nested or companion objectsKT-71474
K/Wasm: KProperty*Impl equals work incorrectly for clabbale reference created in different files or modulesKT-61130
K/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-70394
Investigate increased wasm binary size after switching stdlib compilation to K2KT-69627
Removecreate###Array
functions from WASM stdlibKT-68509
Fatal: error validating input in compileProductionExecutableKotlinWasmJsOptimizeCompiler
New Features
KT-71094
Kotlin/Native incremental compilation: fail compilation if cache build failedKT-21908
Support 'when' exhaustiveness checking for generic type parameter with sealed class upper boundKT-70679
Kotlin/Native: fill WritableTypeInfo from Swift Export type mappingKT-59798
Builder inference is not working when combined withlet
expressionKT-54227
Cannot use nullable Nothing as reified type parameterKT-71430
Kotlin-to-Java direct actualization implementationKT-68163
Expose supplementary compiler warnings via CLIKT-69321
Swift export: enable auto-linkage of binary dependenciesKT-11526
Improve diagnostics for "X overrides nothing"KT-49710
False positive NO_ELSE_IN_WHEN with nullable type as receiverKT-69729
Support calling super interface Java methods from Kotlin interfaceKT-69508
Improve "Public-API inline function cannot access non-public-API" check for the inline property accessorsPerformance Improvements
KT-71353
FP Kotlin performance degradation (around Cone types hierarchy changes)KT-71159
[K2] OOM on large enum classes with fieldsKT-69718
K2: Check for jvm nullability annotations in fir2ir is slowKT-68417
Native: LLVM 16 inliner is slow on K/N-produced modulesKT-63971
K2: Redundant@ParameterName
in abbreviated type in metadataFixes
KT-71550
JVM IR: NPE on identity equals of boolean true with nullKT-72214
-fpass-plugin (clangFlags) is not applied since Kotlin 2.0.20KT-68933
CompilationException: Back-end: Could not get inlined classKT-72255
Promote jspecify from warning to errorKT-73065
CCE with context receiversKT-61033
K2: implement a diagnostic corresponding to K1's MISSING_BUILT_IN_DECLARATIONKT-72345
K2: Method 'get' without@Override
annotation not calledKT-71260
K2: Internal compiler error in IrFakeOverrideSymbolBase.getOwner when there is no actual for expectKT-72996
false-positive unresolved reference error on an overloaded callable reference in a lambda return position on the left-hand size of an elvis operatorKT-72552
AutoboxingTransformer fails on during linkage on nested lambdas with cinteroped typesKT-71751
K2: Skipping code in last statement of lambdaKT-71121
Kotlin/JS incremental compilation fails with KotlinIllegalArgumentExceptionWithAttachmentsKT-60521
Drop language versions 1.4 and 1.5KT-70461
K2: "Inline class types should have the same representation" caused by value class and smart checkKT-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 UByteKT-68653
Switch latest stable language version in Kotlin project to 2.1KT-71708
False negative UNSUPPORTED for collection literals as trailing return valueKT-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 ScriptsKT-69040
PCLA: deal with "deep" calls that can be fully analyzed properlyKT-69920
K2: java.lang.IllegalArgumentException: FirNamedArgumentExpressionImpl.replaceConeTypeOrNull() during Space project compilationKT-69549
Try to move callable reference transformation earlier in pipelineKT-63944
Kotlin/Native: Cache flavor selection doesn't respect GC kindKT-71649
K2: Put operator on mutableMap<T?, V>() causes crashes on null keyKT-70667
K2: "Type parameter * has inconsistent bounds" caused by wildcard and where-clauseKT-70562
@SubclassOptInRequired
cannot accept multiple experimental markerKT-69407
K2: Compiler crash (Shouldn't be here) due to unresolved reference in FirProjectionRelationCheckerKT-71508
JAVA_CLASS_INHERITS_KT_PRIVATE_CLASS isn't reported when java class is inherited from an effectively private classKT-72178
K2: "Unexpected FirPlaceholderProjectionImpl" exception when using "_" as key type in EnumMapKT-70407
Error/warning message for@SubclassOptInRequired
-annotated class should provide more contextKT-72302
K2: no error on type operator in annotation parameter default valueKT-58820
OPT_IN_USAGE_ERROR's message text does not account for SubclassOptInRequiredKT-71662
PCLA: a type variable is not fixed on demand to a type containing a not-fixed type variableKT-69739
K2: "KotlinIllegalArgumentExceptionWithAttachments: Unexpected FirPlaceholderProjectionImpl" caused by unresolved referencesKT-72154
Dokka fails withnot array: KClass<out Annotation>
on Kotlin 2.1.20-dev with@SubclassOptInRequired
KT-70756
K2. Compiler crash with FileAnalysisException on incorrect symbol in nesting lambdaKT-72173
K2: simple object names from root package are resolved without imports in non-root packages when used as valuesKT-71480
JAVA_CLASS_INHERITS_KT_PRIVATE_CLASS isn't reported while java object isn't createdKT-71034
Failing compiler/testData/codegen/box/inlineClasses/kt70461.ktKT-71016
K/Wasm: Failing compiler/testData/codegen/box/inlineClasses/kt70461.ktKT-52469
Deprecate reified type parameter instantiating into intersection typesKT-71753
PCLA: false-negative operator ambiguity error on fixing a type variable on demand for an operator assignmentKT-59871
K2: Fix introduced diagnosticsKT-71563
'llegalStateException: Source classes should be created separately before referencing' when actualized through typealias and java direct actualizationKT-64741
Avoid leaking ConeTypeVariable types in diagnostics from PCLAKT-60447
Builder inference fails to infer generic type argument from local classKT-69170
K2: "Unresolved reference" caused by generics and fun interfacesKT-71756
K2 evaluator: broken resolve of private members during debug of Kotlin project itselfKT-68893
Invalid annotation in contract crashes with K2KT-71490
K2: missing REDUNDANT_ELSE_IN_WHENKT-64403
Implement BlackBoxCodegenTestSpecGenerated for K2KT-71551
JVM IR K1: NPE on generating a function imported from an object from another moduleKT-71210
K2: false negative FUNCTION_CALL_EXPECTED / NESTED_CLASS_ACCESSED_VIA_INSTANCE_REFERENCE with companion objectsKT-71528
K2/JVM: ClassCastException around Array<Nothing?>KT-71228
K2: "IllegalArgumentException: Failed requirement" caused by lambda parameter and class typeKT-71738
K2: False negative REDECLARATION inside object expressionKT-71701
K2: false positive CAN_BE_VAL with lateinit and non-in-place lambdaKT-68694
K2 IDE / Kotlin Debugger: AE “Unresolved reference: <HIDDEN: samples/gen/classes/enum class/EnumClass.lam is invisible” on evaluating private lambda inside enum entryKT-70970
K2 IDE / Kotlin Debugger: AE “Only assignable IrValues can be set” on calling overloaded inc() operator on interfaceKT-70824
K2: NoSuchFieldException when evaluating private extension propertyKT-70390
K2 IDE / Kotlin Debugger: can't invoke lambda from private class during evaluationKT-68701
K2 IDE / Kotlin Debugger: AE “ERROR_CALL 'Unresolved reference: <HIDDEN: /privateLambda is invisible>#' type=IrErrorType(null)” on evaluating private top-level lambdaKT-68695
K2 IDE / Kotlin Debugger: AE “Unsupported callable reference” on evaluating ::lateinitStr on private lateinit propertyKT-70861
K2 IDE / Kotlin Debugger: can't evaluate Clazz::class call for private classKT-34911
Improve error message for WRONG_ANNOTATION_TARGET: list applicable targetsKT-71601
K2: When with a subject of type dynamic always considered exhaustiveKT-33091
Kotlin/Native: Compiler crashes if an external class is declaredKT-59651
K1/K2: Assertion error on external enum usage attemptKT-69939
Extract a category of internal FIR checkers from supplementary FIR checkersKT-70850
Pull down typeArguments from ConeKotlinType to ConeClassLikeTypeKT-71117
K2: "IllegalArgumentException: No type for StarProjection" with star projection and function typeKT-71251
Native & JS K2: Missing check for callingisInitialized
inside inline funKT-70161
Native: extracting LLVM 16 on Linux makes the compiler print many "Ignoring unknown extended header keyword 'LIBARCHIVE.creationtime'" messagesKT-71215
K2: UB due to the erroneous greening of the red code with multiple delegation with javaKT-59386
K2: Missing CONSTANT_EXPECTED_TYPE_MISMATCHKT-69564
Make using -Xuse-k2 compiler flag an errorKT-69756
TypeOfLowering: don't create constant object nodes before inliningKT-66328
K2: implement an error for KT-66324KT-71046
K/N: a separate lowering to convert function reference to IrConstantObjectKT-69223
Drop parallel lowering mode in JVM backendKT-70260
@JsPlainObject
: improve compiler error if a method is presentKT-67739
Improve error message when JDK used in -Xjdk-release has corrupted class filesKT-63964
K2: different naming of classes defined in script in metadataKT-70014
Common inference: introduce rigidTypeMarkerKT-71352
Cannot load script definition class org.gradle.kotlin.dsl.KotlinProjectScriptTemplateKT-63502
Getting java.lang.ClassNotFoundException: javaslang.λ during compilationKT-66316
Kotlin/Native: make@Escapes
annotation required for all external functionsKT-69653
Prohibit exposing types via type parameters' boundsKT-68451
Inconsistent rules of CFA in enum initialization blockKT-70893
K2: Bogus NO_COMPANION_OBJECT on resolve to private qualifierKT-70965
FIR/AA: Initializers for Java annotation arguments mapping capture use-site sessionsKT-63945
K2: Prevent possible diagnostic lossKT-64453
K2: Implement ComposeLikeIr...TestGenerated for K2KT-30424
Confusing error message "modality is different"KT-70846
ReplaceConeKotlinType.nullability
withisMarkedNullable
on specific typesKT-56720
K2: false positive MANY_IMPL_MEMBER_NOT_IMPLEMENTED in case of delegation in diamond inheritanceKT-69937
Define & enforce user-friendly terminology for extended checkersKT-64406
K2: Implement CompileKotlinAgainstJavaTestGenerated for K2KT-69938
Validate sets of default compiler warnings and supplementary compiler warningsKT-68971
Investigate suspicious fragmentation of FIR trees for string literals with interpolationKT-71073
Multi-dollar strings: parser grabs too much if backticks follow a short sequence of '$'KT-71213
Rethrow exceptions in checkers with some useful attachmentsKT-70395
K2: "Captured Type does not have a classifier" caused byout
type and interface hierarchyKT-70133
K2: false negative UNINITIALIZED_VARIABLE when postponed lambda is created before initializationKT-70625
K2: ClassCastException caused by function reference, star projection and invariant type parameterKT-70835
K2: "TYPE_MISMATCH" caused by operator assignmentKT-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 operatorKT-70358
K2: "java.lang.IllegalArgumentException: No type for StarProjection" when using a star projection on a function typeKT-69298
K2: "Initializer type mismatch" caused by elvis operator type inference for nullable typealiasKT-71189
K2: emit 'DELEGATE_SPECIAL_FUNCTION_MISSING' and 'DELEGATE_SPECIAL_FUNCTION_NONE_APPLICABLE' on 'by' keywordKT-71178
K2: False negative NO_ELSE_IN_WHEN in when over nullable type with!is Nothing?
checkKT-70812
False positive NO_ELSE_IN_WHEN with nullable type argument as subjectKT-70947
False positive NO_ELSE_IN_WHEN with DNN subject and nullable sealed class upper boundKT-70752
Review diagnostics with whole declaration as rangeKT-71160
K2: Rendering of flexible collection types and arrays is too verboseKT-61227
Definitely non-nullable types cause "Any was expected" for@Nullable
parameterKT-69389
K2: NONE_APPLICABLE instead of more useful "type mismatch" error with overloads and parameter nullability mismatchKT-69829
Missed UNRESOLVED_LABEL for label in returns and loopsKT-61223
JDK 21: new addFirst/addLast and putFirst/putLast methods allow adding nullable value for non-null typesKT-66742
Supertypes with inaccessible type arguments are allowedKT-62906
Type system: consider changing simple type & DNN type relationKT-70104
Update the error message for calling super Java interface methods caseKT-69794
K2: Wrong target is reported for EXPOSED_SUPER_INTERFACE diagnosticKT-70724
False-positive UNINITIALIZED_VARIABLE for inline constructor with late-initialized variablesKT-70749
False-positive UNINITIALIZED_VARIABLE for inline fun with crossinline modifierKT-65805
Migrate builtins serializer to K2KT-71004
FirSignatureEnhancement#enhance mutates attributes on the original functionKT-70813
Questionable behavior for calls on ILT receiversKT-70208
'when' is not exhaustive for expect BooleanKT-69210
Native: tune LLVM optimization pipelineKT-70753
K2: Missing non-null assertion on the return value of try-catch blockKT-70012
EXTENSION_SHADOWED_BY_MEMBER shouldn't be reported for actual declarationsKT-70837
K2. "Expected FirResolvedTypeRef with ConeKotlinType but was FirImplicitTypeRefImplWithoutSource" on incorrect call with extension funKT-66751
Implement a general deprecation of types with inaccessible type argumentsKT-68748
K2: RemoveirFactory
fromFir2IrComponents
KT-61659
K2: Implement theEXTENSION_SHADOWED_BY_MEMBER
warningKT-70709
Range for MUST_BE_INITIALIZED shouldn't include property annotationsKT-63294
Do not use duplicated compiler argument names across the codebaseKT-70673
False positive NO_ELSE_IN_WHEN with nullable Boolean as subjectKT-70672
False positive NO_ELSE_IN_WHEN with nullable Enum as subjectKT-69207
Native: use lld when the compiler produces binaries for a Linux targetKT-67696
Native: compiler crashes when loading an LLVM bitcode file of unsupported versionKT-69767
K2: Investigate differences in tests without alias behavior for cyclic expansionKT-70617
K2: ClassCastException caused by Java enum with overriddenname
propertyKT-68796
Non-first invoke operator calls break chained calls of convention operators after safe navigation operatorKT-67772
K2: Metadata misses NoInfer annotation for unsafeCast resultKT-70304
[FIR2IR] Missing@NoInfer
KT-65085
K2: Get rid of special check for unresolved array literals on argument mapping phaseKT-65066
K1 crashes, K2 doesn't report type mismatch on array literal inside nested annotation callKT-49235
Kotlin interface limited to 1000 super typesKT-69991
K2/JVM: Backend crash with functional types and KFunctionsKT-7461
Forbid using projection modifiers inside top-level Array in annotation's value parameterKT-52315
Legacy keywords (header, impl) break enum definitionsKT-69499
Native: aggressive inline of runtime procedures causes compiler crash in debug buildsKT-69737
Native: incompatible target-cpu attributes between runtime and Kotlin codeKT-69911
Unexpected line numbers in default setterKT-61529
K2: Unexpected FirClassLikeSymbol null with -no-jdkKT-69475
K2: No "Name contains illegal characters" for package name with dots insideKT-69484
Native: remove default values forisObjectType
KT-70352
K2: False-negative CONFLICTING_UPPER_BOUNDS onNothing
boundKT-59781
K2: 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-67983
K2: False negative "Recursive type alias in expansion" at recursive typealiasesKT-70328
K2:@UnsafeVariance
stored in the metadata despite the Source retentionKT-70313
K2: Don't addAny
supertype tokotlin.Nothing
compiled from sourcesKT-69982
K2: New errors when executing:kotlin-stdlib:jvmJar
KT-70169
K2: implement a deprecation error for Synchronized, Throws, JvmField on annotation parametersKT-67651
K2: inconsistency in behavior for SAM constructor with flexible typeKT-63857
K2: Extraoperator
modifier in metadataKT-70182
K2: Set upisOperator
flag according to operator naming conventions during building synthetic overrides for Java methodsKT-20798
Implement a deprecation warning for reified modifier on type parameters of type aliasKT-68697
K2 IDE / Kotlin Debugger: NSEE “List is empty.” when method reference is used in some place in codeKT-70157
K2: false positive JAVA_CLASS_INHERITS_KT_PRIVATE_CLASS for a Java private classKT-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 fragmentKT-66323
K2: Clarify contracts ofConeSubstitutorByMap
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 sourcesKT-70037
K2: Generate IR body forAny
constructor despite that fact it's emptyKT-69870
K2: False positive NO_VALUE_FOR_PARAMETER for override without default but base with default and with enabled KMPKT-69599
K2: Investiage and fix lots ofUNRESOLVED_REFERENCE
during building stdlib native with K2KT-68375
K2: FirPrimaryConstructorSuperTypeChecker fails on generated superclassesKT-58309
Deal with test failures inside FirTypeEnhancementTestGeneratedKT-27112
Implement prohibition of exposing types via type parameters' boundsKT-69831
Add long FastJarFS tests to thenightlyFirCompilerTest
configurationKT-69537
K2: Unintentional behavior caused by InferMoreImplicationsFromBooleanExpressionsKT-59814
K2: Explore whyFirDataFlowAnalyzer
strips away value parameters of non top-level-functionsKT-69069
K2: expect overloads are deprioritized in common codeKT-69511
KJS / K2: False positive IMPLICIT_BOXING_IN_IDENTITY_EQUALS when comparing dynamic with primitiveKT-69500
Native: introduce an option to inline less "ALWAYS_INLINE" runtime proceduresKT-69717
K2: Don't callconeType
/coneTypeOrNull
extensions onFirResolvedTypeRef
KT-60440
K2/Java: investigate constructor own type parameters enhancementKT-69871
K2 allows modifier keywords onpackage
declarationKT-61271
Frontend: "The label does not denote a loop." error message is used even if the label does denote a loopKT-69768
K2: Investigate differences in tests without alias behavior with typealias to enum entryKT-63846
K2: incorrect type argument inferred for smart cast value of a generic typeKT-69774
Don't report overload resolution ambiguity if extension receiver contains error typeKT-61316
K2: Consider throwing exception when replaceType is called on special FirExpressions with immutable typesKT-69201
Discard expect candidate in overload conflict resolver if there is no actualKT-69557
K2: Investigate failures with enabled assertion inConeResolvedAtom
constructorKT-69783
K2: Make FirTypeProjection sealedKT-68000
Investigate getting container functions in checkersKT-69649
K2: Cleanup various utilities abouttoSymbol
conversionKT-69185
K2: Prepare a test runner for diagnostic tests with type aliases non-expanded automaticallyKT-69390
UNRESOLVED_REFERENCE on call with lambda argument turns whole call redKT-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 debuggerKT-69315
FirJavaGenericVarianceViolationTypeChecker: StackOverflowErrorKT-49962
"Visibility inherited is not allowed in forVisibility" when analyzing broken fileKT-24212
Report "This class shouldn't be used in Kotlin" on calling constructor of Java class with Kotlin analogKT-64195
K2: Consider makeFirAnonymousInitializer. containingDeclarationSymbol
not nullKT-64254
"Projections are not allowed on type arguments of functions and properties": Type-project type arguments of propertiesKT-40533
Error message PROPERTY_WITH_NO_TYPE_NO_INITIALIZER for interface property is not fully correctKT-20014
Improve diagnostics for lateinit property without initializer and type annotationKT-51366
False positive error "Value class cannot extend classes" when extending generic interface with wrong number of type argumentsKT-68277
K2: false positive UNREACHABLE_CODE for non-localreturn
/break
KT-69544
K2: Mapped Java@Target
annotation's vararg argument has swapped type and elementTypeKT-68998
K2: Refactor postponed atomsKT-69288
Native: Apple LLVM 16 fork can't read bitcode with memory attribute produced by upstream LLVM 16KT-67808
K2: Inconsistent properties initialization analysis in init blocks in presence of smartcast on thisKT-69035
K2: Investigate potential removal of FirManglerKT-69473
Missing suspend-conversion for lambda in the last statement of when with expected typeKT-64640
Prevent mutating SequenceCollection methods from JDK 21 be available on read-only collectionsKT-65441
K1: Remove JDK 21 getFirst()/getLast() in (Mutable)List interfacesKT-54792
Store program order of properties inside@kotlin
.MetadataKT-59832
K2: Fix the TODO about merging values for labels in UnusedCheckerCompose compiler
New features
b/328817808
Added the PausableComposition feature flags83c48a0
Decoy support for JS target is removed from Compose compilerFixes
CMP-6926
iOS compilation failure: Unresolved reference 'copy'CMP-6842
FAKE_OVERRIDE declarations are not preserved in metadata and should not be marked with annotationsCMP-6788
non-private field compilation warnings (stableprop & ComposableSingletons)CMP-6685
Native/WASM compilation failure on Composable function with value-type arg + returnb/376058538
Fix stack overflow when inferring stability of indirect generic loopb/339322843
Transform@Composable
property delegate referencesb/366040842
,b/365066530
Replace deep copy in Compose plugin with in-place type mutationb/329477544
Force open / overridden Composable functions to be non-restartable.b/361652128
Disable live literal transform if the corresponding flag is disabledb/325004814
[Compose] Fix infinite recursion in target analysisb/357878245
Disallow open@Composable
functions with default params to fix binary compatibility issues.b/338597078
[Compose] Fix target warning messageb/351858979
Fix stability inferencing of interfaces on incremental compilationb/346821372
[Compose] Fix code generation for group optimizationb/339311821
Give warning when stability configuration file is not foundb/346821372
Fixes group generation for if statements when nonSkippingGroupOptimization is enabled.IDE. Gradle Integration
KT-48554
[Multiplatform Import] Ensure consistency betweenGradleImportProperties
andPropertiesProvider
IR. Actualizer
KT-71631
Kotlin-to-Java direct actualization: java annotation element isn't actualizedKT-71597
Kotlin-to-Java direct actualization: it is possible to actualize a function with default parametersKT-71592
Kotlin-to-Java direct actualization: constructor of nested class can't be actualizedKT-71577
Kotlin-to-Java direct actualization: method can be actualized by java static methodKT-69632
K2: Expect actual mismatch on actualization with alias to expect classKT-71817
Actualization of static members is broken for non-JVM platformsIR. Inlining
New Features
KT-69527
Set the right visibility for synthetic accessors in SyntheticAccessorLoweringFixes
KT-71232
Implement an IR validation check that ensures that all IrFields are private on non-JVM backendsKT-69307
Source offsets seem incorrect after IR inliningKT-72884
Internal error in body lowering: IllegalStateException: Can't inline given reference, it should've been loweredKT-71659
IR Inliner fails to inline function expressions due to implicit cast from the