v2.0.0
版本发布时间: 2024-05-21 18:50:57
JetBrains/kotlin最新发布版本:v1.9.25(2024-07-19 20:52:20)
Changelog
Analysis. API
New Features
-
KT-65327
Support reading klib contents in Analysis API
Performance Improvements
-
KT-65560
K2: Anaysis API: ContextCollector triggers redundant resolution in the case of file elements -
KT-64987
Analysis API: 50GB memory allocation on creating empty kotlinx.collections.immutable.persistentMapOf -
KT-61789
K2: optimize getFirForNonKtFileElement for references inside super type reference -
KT-59498
K2: getOnAirGetTowerContextProvider took too much time due to on air resolve -
KT-61728
Analysis API: optimize AllCandidatesResolver.getAllCandidates
Fixes
-
KT-65561
Analysis API: dummy.kt is not a physical file -
KT-65616
K2: FirDeclarationStatusImpl cannot be cast to FirResolvedDeclarationStatus from STATUS -
KT-65600
Analysis Api: FirFile for KtCodeFragments are created and not updated on changes -
KT-64919
K2 IDE: Implement KMP support for sealed class inheritors -
KT-64241
K2: Unresolved calls to functions in scripts depending on included projects -
KT-65813
Analysis API Standalone:FirDeclarationForCompiledElementSearcher
does not find compiled elements -
KT-66052
AA: render expect/actual modifier -
KT-66795
KtCodeFragment.clone() is broken -
KT-66532
K2 CodeGen AA: missing annotation setup for function in source module but not in a compile target file -
KT-64833
Analysis API: Members implemented by delegation have no overridden symbols -
KT-62405
Analysis API: SymbolsSUBSTITUTION_OVERRIDE
have no overridden symbols -
KT-66749
K2: "Collection contains no element matching the predicate" on an unresolved call -
KT-62832
K2: ClassCastException: FirDeclarationStatusImpl cannot be cast to FirResolvedDeclarationStatus -
KT-66719
AbstractGetKlibSourceFileNameTest: The dependency to ":native:analysis-api-klib-reader" breaks JPS compilation -
KT-66603
Analysis API: support type annotations in KtPsiTypeProviderMixIn#asPsiType -
KT-64505
Analysis API Standalone: Remove test-specific calculation of sealed class inheritors -
KT-66013
Analysis API Standalone: Sealed inheritors aren't correctly calculated for source classes -
KT-62880
K2 IDE: Unresolved java annotation methods in KDoc -
KT-66530
K2: Analysis API: KtPsiTypeProvider#asKtType crashes on PsiClassType for Java type parameter with wrong use site -
KT-65571
Support VirtualFile inputs to Analysis API modules -
KT-66485
Substituted types are not provided for callable references -
KT-66498
Analysis API: 'KtFe10SymbolDeclarationOverridesProvider' considers a class to be a subclass of itself -
KT-64579
K2 IDE: "Expected FirResolvedArgumentList for FirAnnotationCallImpl of FirValueParameterImpl(Source) but FirArgumentListImpl found" -
KT-65978
Analysis API: Use soft references inFileStructureCache
-
KT-64051
K2 IDE: Analysis API: Unresolved links to typealias in KDoc -
KT-66189
K2 / IDE: KtFirExpressionTypeProvider bugs -
KT-61422
K2 IDE: "No array element type for vararg value parameter: org.jetbrains.kotlin.fir.declarations.impl.FirValueParameterImpl" -
KT-66276
K2: Analysis API:TYPECHECKER_HAS_RUN_INTO_RECURSIVE_PROBLEM
false positive for script parameter -
KT-66232
K2: Analysis API: cover ScriptWithCustomDefDiagnosticsTestBaseGenerated by LL FIR tests -
KT-60996
K2: Stub Based Deserializer: Set versionRequirements to enable VERSION_REQUIREMENT_DEPRECATION diagnostics -
KT-66306
K2: Analysis API: drop ability to enable global phase resolve lock -
KT-55750
LL FIR: Implement multi-threaded resolve -
KT-65563
Analysis API: Missing session componentFirExpectActualMatchingContextFactory
inLLFirLibrarySession
-
KT-66173
K2: No 'org.jetbrains.kotlin.fir.scopes.impl.FirDelegatedMembersFilter' in array owner: LLFirLibrarySession -
KT-66238
Gradle kotlin build scripts - a lot of unresolved symbols after latest changes in kotlin master -
KT-65099
K2: Recursive local storage cache check for Fir2IrDeclarationStorage::createAndCacheIrPropertySymbols() -
KT-65265
Analysis API: Add library session invalidation tests -
KT-56288
Analysis API: Add tests for session invalidation on the Analysis API side -
KT-64000
K2: make AnnotationArgumentsStateKeepers more accurate -
KT-63606
K2: Analysis API: rewrite FirLazyAnnotationTransformer to avoid redundant transformations -
KT-65191
KtFirMultiplatformInfoProvider#getExpectForActual doesn't return expect function for slightly broken code -
KT-62136
Analysis API: Add concurrent tests forCleanableSoftValueCache
-
KT-61222
K2: Add lifecycle management forKtResolveExtension
-
KT-65960
Analysis API: Test infrastructure indexes binary libraries from decompiled files instead of stubs during IDE mode tests -
KT-65240
K2: CodeGen API fails to resolve Annotation parameter type when it runs FIR2IR for a class with a parent class from other module if the parent class has an annotation from another module -
KT-65344
K2: make FirScript statements (declarations) independent -
KT-65930
AA: receiver type forInt?::foo
misses nullability -
KT-65914
AA: receiver type forthis::foo
returns return type of the target callable -
KT-62071
Analysis API: KtFirScopeProvider.getScopeContextForPosition throws exception when ImplicitReceiverValue.implicitScope is null -
KT-65780
K2: polish FileStructure implementation for FirFile -
KT-62840
K2 Script: everything around destructuring declaration on top level of scripts are broken -
KT-64528
K2 IDE: MPP: unregistered component 'org.jetbrains.kotlin.fir.scopes.impl.FirDelegatedMembersFilter' -
KT-64921
K2 IDE: references in platform code resolve to expect classifier instead of actual -
KT-61296
K2: do not resolve the entire file on lazyResolve call if FirFile is passed -
KT-65683
Analysis API: Dangling file session creation causes acomputeIfAbsent
contract violation -
KT-64884
K2 IDE. FP [NAMED_PARAMETER_NOT_FOUND] for copy method of library data class when class has not parameter-properties -
KT-65763
K2: value parameter from library data class copy have RAW_FIR phase -
KT-65665
Analysis API: supportKtDelegatedSuperTypeEntry
inKtFirExpressionInfoProvider.isUsedAsExpression
-
KT-62899
K2 IDE. IDE ignores@Suppress
annotation for errors -
KT-65655
Analysis API:KtCodeCompilationException
should not strongly reference FIR sessions -
KT-62302
Support PsiType -> KtType conversion -
KT-64604
K2: IDE K2: "Modules are inconsistent during performance tests" -
KT-65345
K2: unify FirDesignation and LLFirResolveTarget -
KT-61757
K2 IDE: resolution to buitlins does not work for from common module -
KT-65268
K2: Checking the presence of the delegated constructor call forces AST loading -
KT-63330
Analysis API: Stub-based deserialized symbol providers provide unresolved enum entry annotation arguments -
KT-65418
Analysis API:LLFirAbstractSessionFactory
loads anchor module sessions eagerly -
KT-64718
Analysis API: do not expose SealedClassInheritorsProvider and FirRegularClass to IDE Plugin -
KT-65075
K2: getContainingDeclaration() is broken for declarations inside code fragments -
KT-61332
SupportKtTypeCodeFragment
inPsiRawFirBuilder
-
KT-65150
AA: incorrect result fromKtTypeProvider#getReceiverTypeForDoubleColonExpression
for Java static method -
KT-56551
LL FIR: implement parallel resolve for jumping phases -
KT-65223
Psi: avoid KtFile usages -
KT-65307
Analysis API FE10: support KtFe10AnalysisSessionProvider.getAnalysisSessionByUseSiteKtModule -
KT-62695
K2 IDE: Unresolved extension functions in KDoc -
KT-65152
Analysis API: KDoc references to packages are not fully resolved -
KT-64988
K2 IDE: Navigation from the named argument in safe call does not work -
KT-63195
AA: incorrect results fromKtTypeProvider#getReceiverTypeForDoubleColonExpression
-
KT-64074
K2: Investigate LL divergence for Script.testTopLevelPropertyInitialization -
KT-62441
K2: IDE K2: "No dangling modifier found" -
KT-62895
K2 IDE. FP'when' expression must be exhaustive
with sealed interface from library -
KT-64993
Analysis API: KtExpressionTypeProvider.getExpectedType works incorrectly for arguments of safe calls -
KT-64883
Allow direct creation of KtCommonFile -
KT-64646
K2: properly forbid ast loading during raw fir phase in tests -
KT-64862
Psi: missed parenthesis in type reference presentation -
KT-62893
K2 IDE. FP 'when' expression must be exhaustive with Java sealed interface from library -
KT-63795
K2:lazyResolveToPhase(BODY_RESOLVE)
cannot be called from a transformer with a phase BODY_RESOLVE from SealedClassInheritorsProviderIdeImpl -
KT-64805
Analysis API: introduce common entry point for multi-file test cases -
KT-64714
K2: Analysis API: CollectionsKt.map doesn't resolves from Java in kotlin repo -
KT-64647
K2: Allow to calculate decompiled inheritors for sealed classes in tests -
KT-64595
AA: stackoverflow while simplifying a type with a recursive type parameter -
KT-64825
Analysis API. Cannot compute containing PSI for unknown source kind 'org.jetbrains.kotlin.KtFakeSourceElementKind$DefaultAccessor' exception on getContainingSymbol call for default setter parameter -
KT-64080
K2: Analysis API: On-air resolve does not trigger resolution of delegated super call arguments -
KT-64243
K2: proper lazy resolution for fake overrides -
KT-62891
K2 IDE. FP [EXPOSED_FUNCTION_RETURN_TYPE] on overriding library method which returns protected type -
KT-62667
K2: Cannot find enclosing declaration for KtNameReferenceExpression (on-air, imports) -
KT-61890
Analysis API: Migrate KtFirScopeProvider to ContextCollector instead of onAirResolve -
KT-64197
K2: Code fragments are only supported in JVM -
KT-62357
K2 IDE. False positive on generated component methods and false negative on getter of@JvmRecord
classes in Java -
KT-62892
K2 IDE. Java outer class from other module is not resolved when nested class is accessed with fq name in a type position -
KT-62888
K2 IDE. IDE infers reference toKMutableProperty
as reference to justKProperty
-
KT-64584
K2: StubBasedFirDeserializedSymbolProvider: support deserialization of delegated declarations -
KT-60324
K2 IDE: "NoSuchElementException: List is empty at JavaOverrideChecker#buildErasure" -
KT-62896
K2 IDE. FP ABSTRACT_MEMBER_NOT_IMPLEMENTED on inheriting class from library which implements interface by delegation -
KT-62947
Analysis API: Error while resolving FirPropertyImpl -
KT-64468
Analysis API: Implement mixed multi-module tests which support different kinds ofKtModule
s -
KT-56541
Symbol Light Classes: No@NotNull
annotations are generated for accessors of lateinit properties of unresolved types -
KT-63547
K2 IDE. False Positive AMBIGUOUS_ANNOTATION_ARGUMENT -
KT-64205
Analysis API: Do not import non-top-level callables by default -
KT-63056
K2: Cannot mutate an immutable ImplicitReceiverValue on FirCodeFragment analysis -
KT-64108
K2: KtFirSymbolDeclarationOverridesProvider shouldn't provide fake overrides -
KT-63752
K2: java.lang.StackOverflowError FirFieldSymbol.getHasInitializer -
KT-63718
Analysis API: Stub-based dependency symbol providers of library source sessions compute the wrong package name sets -
KT-64225
K2: IDE K2: "FirLazyBlock should be calculated before accessing" in evaluate debuger completion -
KT-64186
Analysis API: ContextCollector provides incorrect scopes for anonymous objects -
KT-63979
K2 IDE: presentation of types in completion is too verbose -
KT-63681
K2: LL FIR: Improve isResolved check coverage of after lazy resolution -
KT-62982
K2: Cannot get a PSI element for 'Enum.values' -
KT-59732
FirLazyResolveContractViolationException:lazyResolveToPhase(IMPORTS)
cannot be called from a transformer with a phase IMPORTS from serialisation plugin -
KT-62676
K2 IDE: Reference shortener does not recoginize redundant this references -
KT-63627
K2 IDE: shorten reference shortens required qualifier -
KT-62675
K2 IDE: Reference shortener does not recoginize redundant labels -
KT-60957
K2: Analysis API: Reference shortener does not work correctly with invoke function calls on properties -
KT-63771
fe10: KtNamedClassOrObjectSymbol#isInline does not cover value classes -
KT-60327
K2 IDE. "IllegalArgumentException: source must not be null" during delegation declaration -
KT-62421
K2: IDE K2: "lazyResolveToPhase(BODY_RESOLVE)
cannot be called from a transformer with a phase BODY_RESOLVE." -
KT-62587
K2 IDE. FP unresolved reference on accessing nested class in annotation argument -
KT-63700
K2: "FirLazyExpression should be calculated before accessing" in the case of secondary constructor -
KT-61383
K2: 'KtCompilerFacility' fails on code fragment compilation in library sources with duplicated dependencies -
KT-62111
K2 IDE. IllegalArgumentException on for loop with iterator declaration attempt -
KT-63538
Analysis API: Removing a contract statement viaPsiElement.delete()
does not trigger an out-of-block modification -
KT-63694
K1/K2 IDE. "RuntimeException: Broken stub format, most likely version of kotlin.FILE (kotlin.FILE) was not updated after serialization changes" exception on incorrect class name -
KT-63660
K2: expect-actual gutter icons must be shown when declarations are matched but incompatible -
KT-63560
Analysis API: Modifiable PSI tests cannot rely on the cached application environment to allow write access -
KT-62980
ImplementKtFirSimpleNameReference#getImportAlias
-
KT-63130
Analysis API: No receiver found for broken code during commit document -
KT-62705
K2: "lazyResolveToPhase(IMPORTS) cannot be called..." from light classes -
KT-60170
K2 IDE: CCE from KtFirCallResolver on invalid code with wrong implicit invoke -
KT-61783
K2: Analyze 'KtCodeFragment' in a separate session -
KT-62010
K2: IDE K2: "ConeClassLikeTypeImpl is not resolved to symbol for on-error type" -
KT-62957
Analysis API: NullPointerException on call resolution when builtins are not available -
KT-61252
K2: IDE K2: "By now the annotations argument mapping should have been resolved" -
KT-62935
Analysis API:kotlin.Cloneable
should not be available in Kotlin/Native sources -
KT-62910
Analysis API: create AbstractFirPsiNativeDiagnosticsTest for LL FIR -
KT-63096
K2: Analysis API: KotlinAnnotationsResolver for IDE is created with incorrect scope -
KT-62310
K2 IDE. False positives errors with external annotations -
KT-63282
K2 Script: annotation arguments phase should resolve propagated annotations -
KT-62397
K2 IDE. FP Error in the editor onRequiresOptIn
annotation from the lib despite the warning level -
KT-63223
Analysis API: reference to declarations with kotlin* package are not resolved -
KT-62626
IllegalStateException: Cannot build symbol for class org.jetbrains.kotlin.psi.KtScriptInitializer -
KT-62693
K2: IDE K2: "PSI should present for declaration built by Kotlin code" -
KT-62674
K2: "Scope for type ConeClassLikeTypeImpl" is null from transitive dependencies -
KT-61889
Analysis API: Migrate KtFirReferenceShortener to ContextCollector instead of FirResolveContextCollector -
KT-62772
Analysis API: No 'org.jetbrains.kotlin.fir.java.FirSyntheticPropertiesStorage'(31) in array owner: LLFirSourcesSession when analysing builtins in a context of common code -
KT-60319
K2 IDE: "Stability for initialized variable always should be computable" -
KT-62859
K2 IDE: "Evaluate expression" throws exception when calling "Any?.toString()" -
KT-63058
K2 IDE: Code completion unexpectedly imports static/companion object method -
KT-62588
getExpectedType should not calculate type of the expression -
KT-61990
K2: Unexpected returnTypeRef for FirSyntheticProperty -
KT-62625
K2: 'FirLazyExpression should be calculated before accessing' for unresolved super type -
KT-62691
K2: optimize getFirForNonKtFileElement for references inside 'where' -
KT-62834
K2: missing file node level in control flow builder -
KT-62768
Analysis API: No 'org.jetbrains.kotlin.fir.scopes.impl.FirDelegatedMembersFilter'(44) in array owner: LLFirSourcesSession exception on analysing common code -
KT-62874
K2: FirLazyExpression should be calculated before accessing -
KT-62407
Analysis API: resolve[this]
in KDoc to extension receiver -
KT-61204
K2: "FirLazyExpression should be calculated before accessing in ktor HttpBinApplication" -
KT-61901
Analysis API: Declared member scopes for Java classes are missing static members -
KT-61800
Analysis API: Provide separate declared member scopes for non-static and static callables -
KT-61255
Analysis API: Get rid ofvalueOf
,values
andentries
from a declared member scope -
KT-62466
Expected type for functional expression should include inferred types -
KT-61203
IDE K2: "Expected FirResolvedArgumentList for FirAnnotationCallImpl of FirRegularClassImpl(Source) but FirArgumentListImpl found" -
KT-61791
Analysis API: Implement combinedgetPackage
for combined Kotlin symbol providers -
KT-62437
K2 IDE. Resolution does not work inside lambda expression in constructor argument in supertypes -
KT-62244
K2: Analysis API Standalone: Resolving klib dependencies from binary roots terminates application -
KT-62897
K2 IDE. Unresolved declarations from libraries which are doubled inintellij
project libraries -
KT-61615
K2: No 'org.jetbrains.kotlin.fir.analysis.js.checkers.FirJsModuleKind' in array owner: LLFirSourcesSession -
KT-59334
K2: LLFirImplicitTypesLazyResolver problems -
KT-62038
K2: Nested classes are missing in symbol light class structure tests for libraries -
KT-61788
Analysis API: Symbol forFirAnonymousInitializer
cannot be null -
KT-62139
Analysis API: KtFe10AnalysisSession.createContextDependentCopy does not need validity check -
KT-62090
Analysis API: introduce an API to get a substitution formed by class inheritance -
KT-62268
K2 IDE. No autocompletion and IllegalStateException for Pair -
KT-60325
K2 IDE. "IllegalArgumentException: source must not be null" onthrow
usage attempt -
KT-61431
K2: KtPropertyAccessorSymbolPointer pointer already disposed for $$result script property -
KT-58490
K2: LLFirTypeLazyResolver problems -
KT-58494
K2: LLFirAnnotationArgumentsLazyResolver problems -
KT-58492
K2: LLFirBodyLazyResolver problems -
KT-58769
K2: LL FIR: implement platform-dependent session factories -
KT-60343
K2 IDE. IllegalArgumentException on passing incorrect type parameter to function -
KT-61842
K2: reduce number of "in-block modification" events -
KT-62012
K2: "KtReadActionConfinementLifetimeToken is inaccessible: Called outside analyse method" -
KT-61371
K2: Analysis API standalone: register compiler symbol provider for libraries in standalone mode -
KT-60611
K2: reduce number of "in-block modification" events -
KT-61425
Analysis API: Provide a way to get a declared member scope for an enum entry's initializing anonymous object -
KT-61405
Analysis API: An enum entry should not be aKtSymbolWithMembers
-
KT-55504
AA: remove dependency on :compiler:cli from standalone AA -
KT-60904
K2: IDE K2: "For DESTRUCTURING_DECLARATION_ENTRY with text_
, one of element types expected, but FirValueParameterSymbol found" -
KT-61260
K2 Scripts: Containing function should be not null for KtParameter -
KT-61568
FIR Analysis API:collectCallCandidates
gives presence to the top level functions in the presence of more suitable overrides -
KT-60610
K2 IDE: move "out of block" processing logic into LL FIR -
KT-61597
Analysis API: KotlinIllegalStateExceptionWithAttachments: expected as maximum oneexpect
for the actual on errorneous code with multiple expects -
KT-59793
K2: class org.jetbrains.kotlin.fir.declarations.impl.FirErrorImportImpl cannot be cast to class org.jetbrains.kotlin.fir.declarations.FirResolvedImport -
KT-61599
K2: ContextCollector: Support smart cast collection -
KT-61689
Analysis API: ContextCollector provides incorrect context in scripts -
KT-61683
Analysis API: resolve ambiguities in kotlin project -
KT-61245
Analysis API: ContextCollector provides incorrect context for supertype constructor calls -
KT-60384
K2: Opening@JvmName
source in IDEA: NPE at PsiRawFirBuilder$Visitor.toFirConstructor() -
KT-60918
K2 IDE: "FirDeclaration was not found for class org.jetbrains.kotlin.psi.KtDestructuringDeclarationEntry, fir is null" -
KT-61013
K2 Scripts: LLFirReturnTypeCalculatorWithJump: No designation of local declaration -
KT-59517
K2 IDE: KotlinExceptionWithAttachments: Modules are inconsistent -
KT-61331
K2: add cache restoring in case of existing context -
KT-61408
K2: IDE K2: "Inconsistency in the cache. Someone without context put a null value in the cache"
Analysis. Light Classes
Performance Improvements
-
KT-63486
SLC: a lot of RAM is allocated inorg.jetbrains.kotlin.asJava.LightClassUtil.isMangled
Fixes
-
KT-66692
SLC:findAttributeValue
for attribute w/ default value in Java returnsnull
-
KT-61734
SLC: wildcard suppression not honored -
KT-65112
Symbol Light Classes don't support annotations on type parameters -
KT-65843
K2: Light method returnskotlin.Unit
type forTestResult
return type -
KT-65653
SLC: wrong binary resolution to function with value class -
KT-65393
SLC: missing deprecated-hidden property -
KT-64772
SLC: presence of source PSI for compiler-generated declaration -
KT-65425
K2 IDE: Seeing a reference to the class generated by compiler plugin exposed from Java code caused NPE from light classes -
KT-64937
SLC: internal setters are not mangled -
KT-63949
K2 IDE. Analyze hang on@Autowired
constructor analysis -
KT-63087
K2 IDE: in .java source reference to JvmName names on unsigned type / value class are unresolved -
KT-64605
K2 IDE: usage of@Repeatable
annotation in Java: false positive "Duplicate annotation" -
KT-64795
SLC: distinguish last v.s. non-lastvararg
value parameter type during binary resolution -
KT-61605
K2 IDE: Light elements do not obey platform contracts -
KT-57536
SLC: no need to populate members withexpect
modifier -
KT-64320
Decouple kotlin psi from java PSI -
KT-64282
Decouple KotlinIconProviderService from java PSI -
KT-63552
Symbol Light Classes don't support arrayOf and similar without parameters in property initializers and default parameter values
Apple Ecosystem
-
KT-63821
Copy framework to BUILT_PRODUCTS_DIR in the embedAndSign task -
KT-67892
KotlinNativeLink task instantiates with a fixed list of apiFiles -
KT-64096
Diagnostic when embedAndSign used for framework with cocoapods-dependencies -
KT-66446
Diagnostic never showed, and build fails when CocoaPods dependency is used with embedAndSign task and linking type is dynamic -
KT-66445
Diagnostic never showed when CocoaPods dependency is used with embedAndSign task and linking type is static -
KT-62373
"Xcode higher than tested" diagnostic -
KT-63212
podInstall task fails without a proper diagnostic when xcodeproj gem is outdated
Backend. Native. Debug
-
KT-65553
K2: Native: kt42208WithPassingLambdaToAnotherFunction test fails with K2 -
KT-57365
[Native] Incorrect debug info on inline function call site
Backend. Wasm
New Features
-
KT-65009
Generate TypeScript definitions for the@JsExport
declarations in K/Wasm -
KT-58088
[PL] Support & enable partial linkage for Wasm -
KT-66327
Include information about particular Wasm target into KLib manifest
Fixes
-
KT-66465
WASM support doesn't appear to be able to see some common declarations -
KT-66905
K/Wasm: support new version of exception handling proposal -
KT-66515
Wasm: "call param types must match" during the build -
KT-67435
K/Wasm: import.meta.url transforming into absolute local path in webpack -
KT-65777
Implement named export for Kotlin/Wasm -
KT-65660
[WasmJs] Support catching JS exceptions -
KT-65824
Wasm: Allow unsigned primitives to be used inside functions annotated with@JsExport
-
KT-66103
Wasm: companion object is not initialized in test initializers1.kt -
KT-66471
Null method reference with Kotlin/Wasm on 2.0.0-Beta4 -
KT-65210
K/Wasm::class
operator produces Number KClass for Short expression -
KT-66065
[Wasm] Make specialisations for closured primitive values -
KT-64890
K/Wasm compiler crash with external class and Kodein -
KT-66104
Wasm: compiler crash: NoSuchElementException: Sequence contains no element matching the predicate -
KT-65778
Create the same TypeScript tests infrastructure for Kotlin/Wasm that we have now for Kotlin/JS -
KT-65411
Kotlin/Wasm: Boolean boxed instances are not the same -
KT-65713
Kotlin/Wasm generates a wrapper that cannot run in Deno -
KT-63939
Kotlin/Wasm Support lazy associated object initialisation -
KT-61888
[Kotlin/wasm] in kotlin.test support for@AfterTest
for async tests -
KT-64803
K/Wasm: non-capturing lambdas are not singleton unlike same lambdas in jvm -
KT-64449
K2: Implement K1WasmWasiCodegenBoxTestGenerated for K2 -
KT-64829
K/Wasm: division remainder has a wrong sign -
KT-58852
WASM: two methods with different varargs: Class korlibs.template.dynamic.DynamicShape has 2 methods with the same signature [register(kotlin.Array<T of kotlin.Array>) -
KT-61263
K/Wasm: add a way to turn on k2 in wasm examples using Compose -
KT-62863
Execution failed for task ':kotlinx-serialization-properties:wasmJsD8Test' in serialization in the K2 QG -
KT-62657
K/Wasm: switch to json repots for Kotlin Wasm Benchmarks -
KT-62147
[Kotlin/Wasm] Nothing typed when expression cause a backend error -
KT-61958
Update SpiderMonkey and return its usage in box tests when they switch to the final opcodes for GC and FTR proposals -
KT-60828
K/Wasm: return br_on_cast_fail usages -
KT-59084
WASM: "RuntimeError: illegal cast" caused by inline class and JsAny -
KT-60700
[WASM] test FirWasmCodegenBoxTestGenerated.testSuspendUnitConversion failed after KT-60259
Compiler
New Features
-
KT-45375
Generate all Kotlin lambdas via invokedynamic + LambdaMetafactory by default -
KT-24664
No smartcast on stable property if receiver had non-null assertion -
KT-23915
Add smart cast to non-nullable type after elvis operator -
KT-61077
Support provideDelegate inference from var property type -
KT-59688
K2: consider removing smartcasts only from the only visibile property with specific name, not from all of them -
KT-7389
Intersection type for type parameter with multiple upper bounds in star projection -
KT-63477
Consider supporting builder-style type inference from Unit coercion of last statements in lambdas -
KT-61907
K2: builder inference works with assignments to member properties -
KT-61909
K2: builder inference infers correct types from assignments to extension properties -
KT-59551
K2: builder inference works with anonymous functions if builder parameter has a receiver with a postponed type variable -
KT-65443
[K/N] Implement header caches -
KT-4113
Smart casts for properties to not-null functional types atinvoke
calls -
KT-65681
K2: Improve error message of UPPER_BOUND_VIOLATED when upper bound is a captured type or other non-denotable type -
KT-32754
Choose existing extensions over additional built-ins members from JDK except overrides -
KT-57800
Support synthetic properties onsuper
receiver -
KT-64350
K2: deprecate using typealias as a callable qualifier in imports -
KT-26565
Choose existing extensions over additional built-ins members from JDK -
KT-65478
JVM: Change inlined variable naming format -
KT-64702
Upper bound of type parameter is ignored when capturing of in-projection appears in out position -
KT-60274
K2: builder inference works through a delegated local variable inside builder argument -
KT-65859
Calls refinement extension point -
KT-15220
Reuse resolution results of common code for platform modules in multiplatform projects -
KT-60476
K2: False positive NO_VALUE_FOR_PARAMETER in platform code for value class with default parameter in common declaration -
KT-65153
K/N: extract liveness analysis to a separate phase -
KT-59098
Support -Xjdk-release=1.6/1.7 with -jvm-target 1.8 -
KT-63670
Implement platform specific declaration clash diagnostics across all backends -
KT-62547
Introduce a language feature flag for smartcasts based on "memory" variables -
KT-60820
K1: Empty vararg value is inserted in serialized annotation call with expect default vararg value -
KT-58172
Forbidexpect class A actual constructor
-
KT-54443
Smart cast to non-null after safe-call in require -
KT-25747
DFA variables: propagate smart cast results from local variables -
KT-22997
Smart-cast should merge is-check for non-nullable type and a null check to a nullable type -
KT-22996
Smart casts should observe nullability after is-check with a nullable subject type -
KT-22004
Allow to resolve CONFLICTING_OVERLOADS with Deprecated(HIDDEN) -
KT-61955
Support more wider actual member visibility, if the expect member is effectively final -
KT-59504
K2 compiler does not require resolved 'componentX' functions for the placeholder ('_') variables in the destructuring declarations -
KT-62239
Allow enum entries without parentheses uniformly -
KT-11712
Smart cast is not applied for invisible setter
Performance Improvements
-
KT-47545
NI: Slow type inference involving large when-expression (ConstraintInjector.processConstraints) -
KT-62714
Do not add nullability annotations to the methods of inner classes in enum entries -
KT-62903
Unoptimziedwhen
compilation -
KT-67388
FP intellij: performance degradation in build 611 -
KT-67507
K2: Slow compilation times when a class has a lot of possibly conflicting declarations -
KT-65005
K2: Investigate testCommonSuperTypeContravariant performance -
KT-65996
Compiler enters endless loop -
KT-66341
K2: Don't build IdSignatures in FIR2IR with IR f/o builder -
KT-66172
K2: Improve memory consumption ofKtPsiSourceElement
-
KT-50860
Combination of array set convention and plusAssign works exponentially -
KT-62798
'in' range checks are not intrinsified in kotlin-stdlib -
KT-65579
K2: performance regression in FP Space -
KT-61635
K2:getConstructorKeyword
call inPsiRawFirBuilder.toFirConstructor
forces AST load -
KT-62619
FIR: Checker performance regression due to MISSING_DEPENDENCY checkers -
KT-62044
Do not add nullability annotations to the methods of anonymous class -
KT-62706
Optimize KtSourceElement.findChild() -
KT-62513
Do not add nullability annotations to the methods of local classes -
KT-61991
K2: avoid redundant full body resolution for properties during implicit type phase -
KT-61604
[K/N] Bitcode dependency linking is slow for large compilations -
KT-61121
[K/N] Kotlin Native compiler performance is slow when generating large frameworks -
KT-57616
K2: Consider optimizing reversed versions of persistent lists in FirTowerDataContext
Fixes
-
KT-67993
K2: PCLA Inference throws exception with local objects -
KT-61768
Wrong bytecode index in LineNumberTable when there is an incremental operation -
KT-63580
"AssertionError: access of const val: GET_FIELD" caused by const value and variable with delegation -
KT-63567
"NoSuchMethodError" on getting value of lazily initialized property by companion's const value -
KT-56078
K2: build kotlinx.coroutines -
KT-67609
K2: False negative INFERRED_TYPE_VARIABLE_INTO_EMPTY_INTERSECTION_ERROR -
KT-57750
Report ambiguity error when resolving types and having the same-named classes star imported -
KT-65603
K2: No approximation is done on public, but effectively private property -
KT-59932
K2: Disappeared AMBIGUOUS_ANONYMOUS_TYPE_INFERRED -
KT-59906
K2: Disappeared CAPTURED_VAL_INITIALIZATION -
KT-53886
NoSuchMethodError exception in Kotlin/Native compiler -
KT-57678
K2: Inconsistency in how K2 analyzes unresolved code for loops and changing closures -
KT-57871
K1/K2 inconsistency on if-conditional without else-branch in parenthesis -
KT-56384
K2: build IntelliJ monorepo master branch -
KT-49191
Leaked integer literals from lambda with flexible return type -
KT-65812
K2: "OutOfMemoryError: Java heap space" in kotlin.utils.SmartList.add -
KT-67224
K2/Native: Member overrides different '@Throws
' filter from separate module -
KT-65623
K2: Unresolved reference in connection with casts -
KT-64136
K2: NSME with Anvil compiler plugin -
KT-51241
Provide a error when override method has different set of context receivers -
KT-52920
Confusing "Multiple arguments applicable for context receiver" error message -
KT-67912
K2: Cannot inference type properly from inline function with Type parameter -
KT-68056
Prohibit referencing java field in case of conflict with property from companion object of the derived class -
KT-61129
K2: Implement error suppression warning -
KT-67367
K2: Incorrect resolution to top-level function with less specific signature in presence of SAM constructor on the same tower level -
KT-50179
Fix DUPLICATE_LABEL_IN_WHEN warning with new rules of complex boolean constants -
KT-45334
Prohibit referencing constructors of sealed classes by its inner members -
KT-59943
K2: Disappeared OPERATOR_MODIFIER_REQUIRED -
KT-67875
K2: Resolution ambiguity between Iterable and varargs -
KT-67699
Not enough information to infer type argument for 'Error' using Arrow's Raise context receiver since Kotlin 2.0.0-Beta3 -
KT-67486
K2: Calling method from a Java (implementing a Kotlin class) with named parameters is no longer possible if Java method has different parameter names -
KT-66527
K2: type mismatch on override fortype -
KT-59897
K2: Disappeared PACKAGE_OR_CLASSIFIER_REDECLARATION -
KT-50020
K2: False-negative USAGE_IS_NOT_INLINEABLE when lambda in receiver position -
KT-44557
Implement main function detection to FIR -
KT-67810
K2: public-API inline function cannot access non-public-API annotation enum -
KT-66447
Implement KT-59138 under a language feature -
KT-54862
Anonymous type can be exposed from private inline function from type argument -
KT-37592
Property invoke of a functional type with receiver is preferred over extension function invoke -
KT-51194
False negative CONFLICTING_INHERITED_MEMBERS when dependency class contained in two different versions of the same dependency -
KT-67221
K2: "new inference error [NewConstraintError at Incorporate TypeVariable" for captured type -
KT-66701
K2: Java interface method override via Kotlin class rejected -
KT-60604
K2: introduced NON_PUBLIC_CALL_FROM_PUBLIC_INLINE,@PublishedApi
needed for constants in annotations -
KT-64309
Generate a variable mapping for continuation parameter in suspend methods just from the start -
KT-65438
K2: Introduce WEAKLY_HIDDEN concept to built-in-JDK content mapping -
KT-65235
JDK 21 might lead to change in overloads resolution -
KT-66768
K1: False positive UNRESOLVED_REFERENCE in super.getFirst/getLast call -
KT-67106
Platforms libs-dependant autotests for ObjC checkers -
KT-65440
K2: Mark all potential implementations of List.getFirst()/getLast() as deprecated independently of JDK -
KT-65594
K2: Type inference fails on NullMarked object with star type -
KT-62849
Unoptimised bytecode for Java synthetic property references -
KT-60174
JVM IR inline: accidental reification in various cases -
KT-57609
K2: Stop relying on the presence of@UnsafeVariance
using for contravariant parameters -
KT-54316
Out-of-call reference to companion object's member has invalid signature -
KT-66976
Some value class diagnostics are missed -
KT-57426
Incorrect error message on inapplicable smartcast from alien property -
KT-55111
OptIn: forbid constructor calls with default arguments under marker -
KT-49856
Incorrect smartcast on var assigned in try-catch block -
KT-41237
ReturnsImplies contract for receiver of member function does not work (no smartcast) -
KT-37878
No Smart cast for class literal reference of nullable generic type -
KT-35846
Smart cast with unchecked cast leads to unresolved call that was resolved before (both old and new inference) -
KT-30867
Unsound smartcast if smartcast source and break is placed in for-in header as function arguments -
KT-30267
Inconsistent smart casts in while (true) -
KT-33917
Prohibit to expose anonymous types from private inline functions -
KT-28889
Smart cast does not work with booleanand
infix function -
KT-54790
False positive NO_ELSE_IN_WHEN when all interfaces are sealed -
KT-54920
K2:when
with a single branch stops being exhaustive the second time it's done -
KT-53364
False positive UNUSED_VARIABLE warning for variable that is used across multiple blocks -
KT-43234
False positive INVALID_IF_AS_EXPRESSION caused byif
withoutelse
insideelse
inside synchronized() -
KT-38490
False negative INVALID_IF_AS_EXPRESSION with unreachable code and coercion to Unit -
KT-35510
No INVALID_IF_AS_EXPRESSION ("'if' must have both main and 'else' branches if used as an expression") diagnostic for if-expression with only one branch and Nothing type condition -
KT-34016
Contracts - variable cannot be initialized before declaration -
KT-56408
Inconsistent rules of CFA in class initialization block between K1 and K2 -
KT-33829
False positive SENSELESS_COMPARISON with assignment in catch block -
KT-30717
False positive UNUSED_VARIABLE with local var used in inline lambda block with loop, return and other lambda -
KT-28232
RETURN_NOT_ALLOWED in inline lambda argument of '[... ]' operator convention -
KT-26116
No error when class member val is referenced in inline function before it is assigned later on -
KT-25311
Calls on error type values lead to false-positive unreachable code -
KT-24372
Misleading warning on unused setter parameter in some cases -
KT-23680
False positive UNREACHABLE_CODE onthrow
with areturn
insidefinally
clause -
KT-23502
When exhaustiveness is not checked for unreachable code, resulting in JVM back-end error -
KT-22621
"throw throw Exception()": False negative UNREACHABLE_CODE warning -
KT-22317
No INITIALIZATION_BEFORE_DECLARATION without primary constructor -
KT-67307
K2: "Cannot find cached type parameter by FIR symbol" in JpaRepository.saveAll -
KT-67185
K2: Incorrect coercion-to-Unit leading to CCE at runtime -
KT-64891
K2: consider supporting/forbidding foo.(bar)() syntax -
KT-59480
K2: build moko-resources -
KT-65771
K2: "IndexOutOfBoundsException: Cannot pop operand off an empty stack" when calling method imported using typealias as callable qualifier -
KT-67502
K2: "property must be initialized or be abstract" with try-finally in secondary constructor -
KT-67456
K2: "property must be initialized or be abstract" depending on constructor declaration order -
KT-63524
K2: "Not enough information to infer type argument" -
KT-67628
K2: "IllegalArgumentException: Expected nullable type" — alias of nullable type analyzed as non-nullable in type parameter -
KT-67625
K2: Array aliases can't be used as vararg values -
KT-67624
K2: False negative "The feature "break continue in inline lambdas" is experimental and should be enabled explicitly" in elvis operator -
KT-61787
K2 doesn't report warnings for some Gradle tasks -
KT-62550
K2: Different JVM signature of lambda withUnit
return type -
KT-65120
K2 Consider turn into platform checkers ones which checks for objC -
KT-60271
K2: origins are not set on compare operators -
KT-28695
Compiler does not detect uninitialized property in lambda -
KT-67593
K2: false negative SUPER_CALL_WITH_DEFAULT_PARAMETERS -
KT-67484
K2: FIR2IR generates incorrect access to f/o of lateinit internal var -
KT-47382
JVM / IR: "AssertionError: Unbound private symbol IrFieldSymbolImpl" caused by string template in constructor and extension property -
KT-67581
K2: Compiler fails on actualizing abstract class with sealed Java class via type alias -
KT-49404
Fix type unsoundness for contravariant captured type based on Java class -
KT-22379
Condition of while-loop with break can produce unsound smartcast -
KT-67021
K2: Cannot find cached type parameter by FIR symbol: E of the owner: FirRegularClassSymbol Function -
KT-67014
K1/K2 handle when expression as annotation target differently -
KT-67254
K1/K2 both allow annotations on loops, assignments, array sets -
KT-66960
K2. KMP. False negative'when' expression must be exhaustive
without sealed class inheritor from common source-set -
KT-65578
K2: implement a deprecation warning for KT-57014 (wrong nullability returned from JDK SAM constructor lambda) -
KT-63466
@NonNull
on a type-variable usage doesn't take precedence over a wildcard type argument -
KT-56134
K2: NEW_INFERENCE_NO_INFORMATION_FOR_PARAMETER diagnostic is reported for the wrong symbol -
KT-66196
Convert INFERRED_TYPE_VARIABLE_INTO_EMPTY_INTERSECTION_ERROR to warning -
KT-66793
K2: "assigning single elements to varargs in named form is prohibited." caused by varargs supplied from java with elvis operator -
KT-59872
K2: Disappeared TYPE_MISMATCH -
KT-67192
K2: Disappeared TYPE_MISMATCH [3] -
KT-63319
K1/K2: inconsistent behavior around NullMarked and type parameter based types -
KT-59882
K2: Disappeared CANNOT_INFER_PARAMETER_TYPE -
KT-67191
K2: Disappeared TYPE_MISMATCH [4] -
KT-53752
Missed subtyping check for an intersection type -
KT-52628
Deprecate SAM constructor usages which require OptIn without annotation -
KT-54066
Deprecate upper bound violation in typealias constructors -
KT-64860
K2: Consider using different ConstraintPosition when fixing variables for PCLA -
KT-67189
K2: Disappeared TYPE_MISMATCH [5] -
KT-67551
K2: No wrong annotation target error forfor
statement -
KT-67374
K2: Object is not smartcasted to type parameter type -
KT-67264
K2: "argument type mismatch" with suspend lambda and java wildcard -
KT-63257
K2: FIR2IR inserts incorrect implicit cast for smartcasted variable -
KT-66902
K2: "Named arguments are prohibited for non-Kotlin functions" with Java interop -
KT-67311
K2: "Argument type mismatch" caused by lambda type when using named arguments -
KT-57011
Make real type of a destructuring variable consistent with explicit type when specified -
KT-62043
K2: Fix FirCompileKotlinAgainstCustomBinariesTest.testRawTypes -
KT-66256
K2: compiler FIR2IR crash on SAM-conversion to value parameter of in-projected type -
KT-67124
"Unstable inference behaviour with multiple generic lambdas" compilation error -
KT-59791
K2: Implement partially constrained lambda analysis -
KT-66743
Lambda receivers and anonymous function parameters of inaccessible types are allowed -
KT-67315
K2: Some default imports are not excluded -
KT-56126
Avoid using descriptors at JvmPlatformAnalyzerServices::computePlatformSpecificDefaultImports -
KT-66513
K2: Suppressing OPT_IN_USAGE_ERROR is now a warning in K2, preventing safe code gen compatible with -Werror -
KT-67233
False negative UNSAFE_CALL with type check after null coalescing with 'OR' -
KT-52802
Report ambiguity resolving between property/field and enum entry -
KT-64920
Json.encodeToString yields different results depending on whether typealias is used -
KT-58260
Make invoke convention work consistently with expected desugaring -
KT-67314
PCLA works inconsistently with smart-cast related CS forks -
KT-66797
K2 JS: Primary constructor property annotation with target VALUE_PARAMETER is put on property instead of parameter -
KT-55179
False negative PRIVATE_CLASS_MEMBER_FROM_INLINE on calling private class companion object member from internal inline function -
KT-54663
Projected types don't take into account in-place not null types -
KT-58191
K2: capturing closures successors that are already resolved (thanks to backward edges) must be taken into account for allowing smart casts -
KT-67144
K2: potential NPE when assigning to unstable vars -
KT-66971
K2: missing SMARTCAST_IMPOSSIBLE on open val declared in another module -
KT-66904
K2: possible NPE when reassigning captured variables -
KT-57031
operator assignment, increment/decrement should be considered as variable reassigning in terms of DFA. green in K1 -> red in K2 for unsound code -
KT-67212
K2: "Failed to find functional supertype for class org.jetbrains.kotlin.fir.types.ConeCapturedType" -
KT-67283
K2: No SAM conversion for fun interface with abstract toString -
KT-67318
Compiler fails with OutOfMemoryError on combination of PCLA+smart cast -
KT-66956
K2: false negative CONST_VAL_WITH_NON_CONST_INITIALIZER for inc/dec operators -
KT-64233
K2: K1/K2: ensure JVM ABI consistency for quality gates projects -
KT-63535
K2: Apply DFA implications for nullable Nothing to both sides -
KT-63413
K2 / kotlinx-atomicfu: "IllegalStateException: Expected some types" -
KT-62931
K2: extra class files for@OptionalExpectation
marked annotations -
KT-34307
Confusing error message on lambda return type mismatch -
KT-62151
K2. overload resolution ambiguity for calls of Java record compact constructors -
KT-60732
K2 Scripting: TeamCity DSL test -
KT-65062
K2: build kotlinx.collections.immutable and pass to CI -
KT-59467
K2: build toolbox-enterprise -
KT-67205
K2: can't deserialize annotation with local class as argument -
KT-52175
K2: WRONG_ANNOTATION_TARGET for annotation that used inside if -
KT-65449
K2: build KAPT user project and pass it to CI -
KT-61384
IrFakeOverrideBuilder incorrectly checks visibility for friend modules -
KT-67142
K2: IrFakeOverrideBuilder: AbstractMethodError on raw type argument in a Java superclass -
KT-65105
K2 / Native: Member overrides different '@Throws
' filter -
KT-62570
IncompatibleClassChangeError due to overriding final method -
KT-57812
K2: support serialization of type annotation's arguments -
KT-67190
K2: Disappeared TYPE_MISMATCH [2] -
KT-56683
K2: No control flow analysis for top-level properties -
KT-67188
K2: Disappeared TYPE_MISMATCH [6] -
KT-62063
K2: drop pre-release flag in 2.0-RC -
KT-67187
K2: Disappeared TYPE_MISMATCH [1] -
KT-66909
K2: Implement a diagnostic for returning null from a lambda with expected return type Unit! -
KT-66534
False positive ASSIGNMENT_TYPE_MISMATCH in lambdas with expected return type Unit! -
KT-63381
IrFakeOverrideBuilder: PublishedApi affects overridability of internal members -
KT-63836
K2: No deprecation error message in common metadata compilation -
KT-57618
K2: complex deprecation messages are not printed in the error -
KT-59856
K2: Check ConeDiagnostics that are not mapped to KtDiagnostics -
KT-57502
K2: Smart casts should be forbidden if variable that remembers the smart cast is declared by delegation -
KT-63967
K2: Missing getterSignature in metadata for script variables -
KT-59372
K2: Missing SELF_CALL_IN_NESTED_OBJECT_CONSTRUCTOR_ERROR -
KT-60526
K2: Fix the TODO inconvertToIr.kt
-
KT-67090
K2: Exception from metadata compilation when compiling class with annotations from dependencies -
KT-59479
K2: build KorGE -
KT-64502
K2: Internal error on calling function before declaration -
KT-62560
K2: KAPT4: annotation@ReplaceWith
is missing a default value for the element 'imports' -
KT-67027
K2: Review all use-sites of annotation arguments utilities -
KT-65012
IR Evaluator:NoSuchFieldException
when evaluating protected/private fields of superclasses -
KT-66953
K2: toByte() call on Char leads to ClassCastException for klib backends -
KT-60096
K2: Introduced API_NOT_AVAILABLE -
KT-59484
K2: build trustwallet sample -
KT-64151
K2: consider implementing FIR-level constant evaluation -
KT-65787
K2: "KotlinIllegalArgumentExceptionWithAttachments: Expected FirResolvedTypeRef with ConeKotlinType" caused by passing lambda expression with multiple labels to function -
KT-53629
K2: forbid multiple labels per statement -
KT-65255
K2 / KJS: "IllegalArgumentException: Candidate is not successful, but system has no contradiction" -
KT-65195
K2: Unexpected exception when executing dynamic array element inc/dec -
KT-63416
K2 / Contracts: False positive "Leaked in-place lambda" warning caused by suspend lambda with callsInPlace contract -
KT-66717
Incorrect diagnostics around intersection property overrides -
KT-63540
Restrict the CONFLICTING_OVERLOADS + DeprecatedLevel.HIDDEN ignore to final callables -
KT-56587
There are no warnings in some cases when Enum.entries is shadowed -
KT-65111
K2: Java star imports don't work in KJK interdependencies -
KT-63709
K2: Argument smartcasting impacting receiver and call resolution for implicit invoke -
KT-63530
K2: Disable passing data flow info from in-place lambdas -
KT-65377
K2: "Argument type mismatch" caused by approximated captured type argument of generic type -
KT-59400
K2: Missing CANNOT_INFER_VISIBILITY -
KT-62305
K2: Missing Fir metadata serialization support for scripts -
KT-64534
K2: org.jetbrains.kotlin.util.FileAnalysisException: Somewhere in file -
KT-57555
[LC] Forbid deferred initialization of open properties with backing field -
KT-65776
[LC] K2 breaksfalse && ...
andfalse || ...
-
KT-64641
K2: Change in inference of supertype of function types with receiver -
KT-65649
K2: IR has incorrect origins for some inplace updating operators -
KT-64295
Forbid recursive resolve in case of potential ambiguity on upper tower level -
KT-62866
K2: Change qualifier resolution behavior when companion object is preferred against static scope -
KT-55446
Change impact of private-to-this visibility to resolution -
KT-64255
Forbid accessing internal setter from a derived class in another module -
KT-64966
Forbid generic delegating constructor calls with wrong type for generic parameter -
KT-63389
K2:WRONG_ANNOTATION_TARGET
is reported on incompatible annotations of a type wrapped into()?
-
KT-66748
K2: False-positive AMBIGUOUS_SUPER in toString -
KT-67013
K2: ClassCastException: class FirConstructorSymbol cannot be cast to class FirNamedFunctionSymbol -
KT-64872
K2: do-while condition able to access uninitialized variable -
KT-66350
K2: "IllegalStateException: Unsupported compile-time value STRING_CONCATENATION" when evaluating an annotation argument string -
KT-61798
K2 incorrectly calculates modality of property accessors -
KT-65035
IrFakeOverrideBuilder: AbstractMethodError on inheritance from Java subclass of CharSequence with inherited implementations -
KT-61579
K2: Inconsistent reportingUNINITIALIZED_VARIABLE
for top-level properties -
KT-66730
K2: False positive RETURN_TYPE_MISMATCH in return statement in SAM constructor -
KT-66570
Generic wildcard upper bound inference error -
KT-65272
K2: invoke operator applies "restricted suspending call" error differently than K1 -
KT-66148
K2. Sources of receivers updated twice because of PCLA -
KT-62525
K2: IllegalStateException: Can't find KotlinType in IrErrorType: IrErrorType(null) -
KT-64266
K2: don't report MISSING_DEPENDENCY_CLASS on lambda parameter for non-generic types -
KT-65300
K2: this-expressions in initializers and local declarations don't introduce type information to either BI or PCLA -
KT-66463
K2: false positive ACCIDENTAL_OVERRIDE_CLASH_BY_JVM_SIGNATURE -
KT-62356
Prohibit using property+invoke for iterator -
KT-63631
K2: constant value UByte.MAX_VALUE is incorrectly deserialized from metadata -
KT-65386
K2: Different signature of invoke for Unit lambda -
KT-60574
K2: generated IR forsuspendCoroutineUninterceptedOrReturn
is different from K1 (K2 uses Any? instead of Unit) -
KT-66512
K2: Incorrect diagnostic in lambda whose expected type is a type alias to Unit -
KT-66279
K2: False positive INITIALIZER_TYPE_MISMATCH withreturn Unit
in a lambda with the expected type() -> Unit
-
KT-66277
K2: False negative RETURN_TYPE_MISMATCH with empty return in lambda assigned to a property -
KT-66654
K2 FIR resolution: Mismatch between actual type and expected type for a value parameter when the parameter type is a function type with special function kind -
KT-66638
Cannot access properties of a generic type with wildcards -
KT-66690
K2: don't report MISSING_DEPENDENCY_CLASS on expression without errors for generic type arguments -
KT-66767
K2: Destructuring declaration inside initializer failure -
KT-63695
JVM: Don't use plugin extensions when compiling code fragment -
KT-65727
K2: add proper package for properties generated from destructuring declarations -
KT-64854
K2: Trying to access private field on runtime with contracts -
KT-65388
IrFakeOverrideBuilder - custom annotation is available in fake getter/setter -
KT-66595
K2: compiler FIR checking crash on destructuring declarations calling hidden componentN declarations -
KT-62129
K2: Verification error on calling an extension from an env with 2+ context receivers -
KT-41607
NI: UNSAFE_CALL caused by try catch block assigning to a nullable variable -
KT-63932
K2/Native codegen test failures around builder inference -
KT-66352
K2: difference between LL FIR and FIR for componentN functions -
KT-66686
K2 Script: Unresolved reference of script-specific entities on out-of-order resolve -
KT-65523
K2: add proper package for result$$ property -
KT-66699
Restore HostManager ABI -
KT-60533
Inliner incorrectly captures non-null value as null in coroutines -
KT-57925
K2: Consider removing FirEmptyContractDescription -
KT-61893
K2: should not resolve to Java function with Kotlin hidden-level deprecation -
KT-59669
K2: Explore assignments in in-place lambdas -
KT-66271
Fir: Deserialize classFile, functionFile and propertyFile from KlibMetadataProtoBuf -
KT-57957
K2: Symbol providers are frequently queried with error-named class IDs -
KT-66046
K2: false negative CANNOT_WEAKEN_ACCESS_PRIVILEGE on property -
KT-66677
K2: OVERRIDE_DEPRECATION isn't reported for WEAKLY_HIDDEN method toArray() -
KT-62793
K2: slightly different bytecode of suspend conversions -
KT-57244
K2: slightly different naming scheme for suspend conversion adapters -
KT-60256
K2: types are not substituted in suspend conversion -
KT-66673
K2/JS: FirJsInheritanceClassChecker doesn't expand type aliases to supertypes -
KT-66475
K2/KMP/Wasm: report WRONG_JS_INTEROP_TYPE from a platform checker -
KT-66474
K2/KMP/JS: report EXTERNAL_TYPE_EXTENDS_NON_EXTERNAL_TYPE from a platform checker -
KT-66473
K2/Wasm: FirWasmExternalInheritanceChecker doesn't expand type aliases -
KT-64407
Implement WriteSignatureTestGenerated for K2 -
KT-64438
K2: Port CodegenTestCase to K2 -
KT-64404
Implement WriteFlagsTestGenerated for K2 -
KT-66491
K2 / KJS: "Name contains illegal characters." caused by backticks in import -
KT-66275
K2: false-positive "Java module does not depend on module" error on access to inherited member from twice-transitive dependency via class from transitive dependency -
KT-65801
IrFakeOverrideBuilder - visibility is lost for setter in KJK hierarchy -
KT-65576
K2: Incorrect resolution of variable+invoke when the property type is not computed -
KT-58575
Private Kotlin property prevents use of Java get- and set-methods from Java-Kotlin-Java hierarchy -
KT-61282
K2: Incorrect overridden function forjava.nio.CharBuffer.get
-
KT-65464
K2: False positive UNRESOLVED_REFERENCE on extension property call defined in KJK hierarchy -
KT-59470
K2: build KaMPKit -
KT-60510
Smartcast to functional type does not work in when exprssion -
KT-59677
K2: Report diagnostics about missing receiver for delegated constructor call to inner class -
KT-65183
K2: Remove workaround for@OnlyInputTypes
and captured types with recursive supertypes from inference -
KT-66120
IrFakeOverrideBuilder: wrong return type in intersection with 3 classes -
KT-65939
IrFakeOverrideBuilder - nullability annotation is lost in intersection without annotation -
KT-59473
K2: build firebase-kotlin-sdk -
KT-66356
K2: type mismatch error when generic type with inaccessible generic type as type argument is produced and consumed by declarations from dependencies -
KT-65193
K2: "JAVA_TYPE_MISMATCH" caused by MutableList -
KT-66636
NoSuchMethodError: 'void org.jetbrains.kotlin.ir.expressions.impl.IrCompositeImpl.in the FLysto K2 QG -
KT-63941
K2: "IllegalStateException: Unsupported compile-time value STRING_CONCATENATION" caused by class reference in string expression as annotation parameter -
KT-65704
K2:computeCommonSuperType
of flexible type with recursive captured type argument produces giant multi-level-deep type -
KT-65410
K2: ABSTRACT_CLASS_MEMBER_NOT_IMPLEMENTED for 'removeAt' in KJK hierarchy -
KT-65184
K2: disappeared TYPE_MISMATCH for java collections -
KT-66392
K2: Exception in KJK hierarchy with implicit types -
KT-66551
Revert temporary commits after KT-62063 and bootstrapping -
KT-65218
FIR LL and DiagnosticFE10 tests start to fail in case of adding any new declaration into stdlib commonMain -
KT-66552
K2: build of intellij crashes the compiler -
KT-63746
K2: JSpecify: If a class has a@Nullable
type-parameter bound, Kotlin should still treat unbounded wildcards like platform types -
KT-66504
K2: plusAssign operator call is resolved differently than function call -
KT-48515
JSpecify: If a class has a@Nullable
type-parameter bound, Kotlin should still treat unbounded wildcards like platform types -
KT-57588
K2/Native: False positive '"CONFLICTING_OVERLOADS", "PARAMETER_NAME_CHANGED_ON_OVERRIDE" on overriding objc methods -
KT-58892
K2: Parcelize doesn't work in common code when expect annotation is actualized with typealias to@Parcelize
-
KT-65882
K2: "KotlinNothingValueException" caused by unsafe cast and Nothing::class -
KT-66124
K2: Remove FirLambdaArgumentExpression and FirNamedArgumentExpression after resolution -
KT-65959
K2: Incorrect warnings about inline function impact -
KT-64994
K2:@Composable
lambda type is not resolved from other modules -
KT-66048
K2: property becomes nullable in KJK hierarchy if base declaration has implicit return type -
KT-47843
No error reported on assigning "continue" to a companion object -
KT-47530
NI: Unexpected TYPE_MISMATCH when combining nested conditional and contravariant type argument -
KT-49583
NI: NullPointerException on compiling anonymous function returning a method reference -
KT-42782
NI: Smart casting for generic type doesn't work if the variable is already smart cast -
KT-38031
FIR: Discrepancy in call resolution for qualifiers with old FE -
KT-65789
K1/K2: Resolve change in constructor/top-level function ambiguity -
KT-66150
K2: expects type argument in super qualifier -
KT-60971
Incorrect "cannot inline bytecode built with JVM target ..." on property setter if only getter is inline -
KT-61514
K2: Build fake overrides using IR during Fir2IR -
KT-65584
K2: "Duplicate parameter name in a function type" -
KT-50008
JSpecify@Nullable
annotation on type-parameter bound prevents type-variable usages from being platform types -
KT-37000
IndexOutOfBoundsException from TypeResolver on typealias with cyclic references -
KT-56988
CFG, smart casts: red in K1 -> green in K2 for invalid code -
KT-62118
FIR: "HashMap.entry" has invalid enhanced type -
KT-64840
K2: Bare type are not allowed for TV based values during PCLA -
KT-65415
K2: Stdlib K2 build error: IrConstructorSymbolImpl is already bound -
KT-66449
Make DiagnosticSuppressor a project-level extension -
KT-66411
FIR: Real source on fake block around assignment expression in the "when" branch affects resolve in K2 Analysis API and IDE -
KT-65249
K2: False positive modality is different for native compilation -
KT-65982
K2 Scripts cannot disambiguate declarations imported from default and explicit imports -
KT-65677
K2: Unable to resolve parent class from companion object -
KT-47310
Change qualifier resolution behavior when companion property is preferred against enum entry -
KT-41034
K2: Change evaluation semantics for combination of safe calls and convention operators -
KT-63529
K2: Compiler does not detect tailrec call with nullable type -
KT-66441
Remove symbol table from IR fake override builder in Fir2Ir -
KT-64846
K2: false negative CONFLICTING_JVM_DECLARATIONS on inheritance from Java collection subclass with a conflicting override -
KT-62312
[K2/N] revert putting stdlib to the beginning of libraries list in the compiler -
KT-58203
K2: false-negative incompatible types error on is-check with unrelated type -
KT-65722
K2: Property reference refers to non-existent functions -
KT-65878
K2: "ClassCastException" when passing nun-suspend lambda to SAM constructor with named argument -
KT-66379
K2: No extra message in UPPER_BOUND_VIOLATED for cases with CapturedType -
KT-59475
K2: build nowinandroid -
KT-65926
K2: add tests for all fixed-in-k2 / not-reproducible-in-k2 unresolved issues -
KT-59481
K2: build aws-sdk-kotlin + smithy-kotlin -
KT-65022
K2: Compiler crashes when array literal is used in delegate expression -
KT-62836
K2: Expected FirResolvedTypeRef with ConeKotlinType but was FirImplicitTypeRefImplWithoutSource -
KT-64727
K1: Closing bracket of object inside crossinline lambda or inside lambda in inline function is not hit on step-over -
KT-64726
K1: Cannot stop on closing bracket of crossinline lambda inside of another crossinline lambda -
KT-64725
K1: Cannot stop on closing bracket of lambda of inline-only function -
KT-66272
Could not load module <Error module> with a combination of type parameters -
KT-66243
Could not load module <Error module> in a builder inference with lambda with typed parameter -
KT-66229
Could not load module <Error module> in a builder inference with Map.Entry -
KT-66313
K2: declaration-order-dependent false-positive "recursive problem in type checker" error ongetX
declaration with implicit return type that callsx
declaration via intermediate declaration ingetX
's expression body -
KT-61041
K2: Consider getting rid of confusing shouldRunCompletion and shouldAvoidFullCompletion function in FirInferenceSession -
KT-66267
K2: generic function's type parameter is erased if present as type argument in type of callable reference to member of generic function's local class -
KT-61448
K2: Disappeared DEPRECATION in testWithModifiedMockJdk -
KT-60106
K2: Introduced REIFIED_TYPE_FORBIDDEN_SUBSTITUTION -
KT-58279
K2. False-negativeSmart cast to is impossible, because is a public API property declared in different module
for Java static field -
KT-61626
K2: Module "com.soywiz.korlibs.kmem:kmem" has a reference to symbol korlibs.memory/Buffer|null[1] -
KT-57427
Fix inconsistencies in name manglers that use different declaration representations -
KT-66258
K2: accessor-targeted@Suppress
annotation is ignored on primary constructor property -
KT-29559
Smart Cast functionality doesn't behave in an expected way in all cases -
KT-60777
K2: missing INLINE_FROM_HIGHER_PLATFORM -
KT-66260
K2: false-positive "abstract function in non-abstract class" error on abstract member function of open interface -
KT-66067
K2: different overrides are created in a complex hierarchy with raw types and upper-bounded type parameters -
KT-65821
K2: [NONE_APPLICABLE] None of the following functions is applicable: [constructor(message: String?): Throwable, constructor(cause: Throwable?): Throwable, constructor(): Throwable, ...] -
KT-66268
K2: Expected FirResolvedTypeRef with ConeKotlinType but was FirUserTypeRefImpl -
KT-63563
K2: False negative RETURN_TYPE_MISMATCH with empty return -
KT-60797
K2: implement JAVA_MODULE_DOES_NOT_EXPORT_PACKAGE -
KT-28159
Smartcasts don't work with Nothing? values (Nothing? considered a null constant => an unstable value) -
KT-28262
Smartcasts for reference equality don't work if explicit true check is used -
KT-66000
K2: inherited inline getter has not been inlined -
KT-66158
K2: not nullable return type for upper-bounded kotlin type parameter in KJK hierarchy -
KT-57268
K2: extra methodsremove
and/orgetOrDefault
are generated for Map subclasses with JDK 1.6 in dependencies -
KT-63577
K2: false-positive "wrong number of type arguments" error on callable reference to member of generic function's local class -
KT-62352
jspecify NonNull annotation seems not supported -
KT-65636
PowerAssert: Negative contains operator not aligned correctly in K2 -
KT-64271
K2: Wrong overriddenSymbols for toString of data class -
KT-62779
K2: Difference in fake override generation -
KT-61941
K2: FIR2IR incorrectly generates f/o structure for complex java/kotlin hierarchies with remapped jvm declarations -
KT-60283
K2: fake override for java static method is not generated -
KT-65095
K2: no bridge generated for getOrDefault when inheriting from Java Map implementation -
KT-57301
K2:getOrDefault
and bridges are not generated for certain Map subclasses -
KT-50916
K2: store resolved type inside ConeStubType after builder inference -
KT-65857
K2: java.lang.IllegalArgumentException: Unknown visibility: unknown -
KT-66174
-Xjdk-release 6 and 7 have a misleading error message -
KT-66175
Wrong supported options list for -jvm-target compiler option -
KT-58814
Too eager subtype inference in when expression -
KT-65408
K1: "There are still 2 unbound symbols after generation of IR module" caused by data object'scopy
function usage -
KT-65844
False Positive "This class can only be used as an annotation or as an argument to@OptIn
" when passing as an array -
KT-58697
K2: Tests: Assert no dump files exist when dump directive isn't present -
KT-63258
NPE with function reference from within lambda during init -
KT-60597
K1: IllegalArgumentException: fromIndex(0) > toIndex(-1) when wrapping receiver with backticks -
KT-33108
USELESS_CAST false positive for cast inside lambda -
KT-58458
K1: "java.lang.NullPointerException" with 'var equals' or 'val equals' as argument in when -
KT-58447
K1: "AssertionError: Recursion detected on input" with@ParameterName
and extension -
KT-41013
OVERLOAD_RESOLUTION_AMBIGUITY for functions takes lambda: can not resolve it, but only named lambda parameter -
KT-56032
[LC issue] Incorrect wrapping when passing java vararg method to inline function -
KT-65588
K2: typealias of primitive type in vararg causes ABI incompatibility -
KT-23873
Indexed access operator can cause false USELESS_CAST warning -
KT-31191
Contract not smartcasting for extension functions in if-statement with multiple conditions -
KT-28725
ReenteringLazyValueComputationException during resolution & inference -
KT-35429
ReenteringLazyValueComputationException when accessing property with same name -
KT-63826
K2: expect for expect crashes the compiler -
KT-25668
False-positive error on restricted suspending function call with callable reference -
KT-18055
SMARTCAST_IMPOSSIBLE on mutable data class variable with a read-only property -
KT-15904
Improve error message when type of generic extension call is inferred from receiver -
KT-66186
K1 diagnostics miss some reporting messages -
KT-65101
Generics behaving different when parenthesized -
KT-63444
TYPE_MISMATCH caused by Inner class with nullable type and star projection -
KT-62022
K1 False positive EXPOSED_FUNCTION_RETURN_TYPE on generics with anonymous object types -
KT-58751
Definitely non-nullable type gets lost with star projection -
KT-56624
"Unresolved reference" with import alias and enum constructor call -
KT-54726
K1: StackOverflowError on mutually recursive typealiases -
KT-35134
False negative INCOMPATIBLE_TYPES, EQUALITY_NOT_APPLICABLE when comparing smartcast value to Boolean -
KT-20617
Qualified this@property
does not work in extension properties with body expression -
KT-10879
OVERLOAD_RESOLUTION_AMBIGUITY for synthetic property accessor with smartcasted receiver -
KT-26768
K1 IDE: False positive "Smart cast to '$CLASS$' is impossible", on local variable in run closure -
KT-63525
K2: "IllegalStateException: Fake override should have at least one overridden descriptor" caused by unreachable code -
KT-65333
K2: UNRESOLVED_REFERENCE for java inner class in intersection scope -
KT-61060
K2: Rewrite delegate inference -
KT-63712
Make it possible to add new stdlib API with SinceKotlin(2.0) -
KT-63741
K2: fix visibility inference with overridden + inherited member -
KT-64488
K2: False positive DEPRECATED_ACCESS_TO_ENTRY_PROPERTY_FROM_ENUM with context receivers -
KT-62283
K2: build Dokka with K2 user project and pass it to CI -
KT-57585
K2/MPP: false-negative errors on expect/actual modifiers mismatch -
KT-66077
IrFakeOverrideBuilder: NPE from IrJavaIncompatibilityRulesOverridabilityCondition.doesJavaOverrideHaveIncompatibleValueParameterKinds -
KT-57044
K2 LL Tests: false-positive 'Overload resolution ambiguity between candidates: [@Override
() fun test(): Unit , fun test(): Unit]' -
KT-66020
K2: ISE "IrPropertySymbolImpl is unbound. Signature: null" on a property with getter with@JvmName
-
KT-62135
K2, KLIB: Classes are still sorted before serializing them to metadata -
KT-65866
[K/N] Fix java.lang.IllegalArgumentException: Unknown visibility: unknown -
KT-66005
K2: "Should not be here: class org.jetbrains.kotlin.fir.expressions.impl.FirResolvedReifiedParameterReferenceImpl" on incorrect comparison of reified type parameter -
KT-65840
[K2] Initializer type mismatch: expected 'Type', actual 'Type' -
KT-65002
K2: Incorrect suspend conversion if argument is an aliased functional type -
KT-65984
K2 scripting: failure on processing SUPPRESS annotation in the last script statement -
KT-65680
K2: Class redeclaration leads to BackendException during IR fake override builder -
KT-66028
K2: Convert FirExpectActualDeclarationChecker to platform checker -
KT-65592
K2: IrFakeOverrideBuilder: ISE "should not be called" on diamond hierarchy with explicit dependency on annotations.jar -
KT-65277
IrFakeOverrideBuilder: NPE from IrJavaIncompatibilityRulesOverridabilityCondition.doesJavaOverrideHaveIncompatibleValueParameterKinds -
KT-65983
K2 gradle scripting: "'val' cannot be reassigned" errors -
KT-60452
K2 Scripting: implement overriding of the script params -
KT-65975
K2: Implicit receivers resolution order in K2 scripting -
KT-60249
K2: No unit coercion generated for loops body -
KT-65937
K2: order of enum entries changed -
KT-65933
K2: Type missmatch in arrays in annotations -
KT-65343
JVM IR: Source parameter is lost when copying with DeepCopyIrTreeWithSymbols -
KT-65103
K2: IllegalArgumentException: IrErrorCallExpressionImpl(5388, 5392, "Unresolved reference: R?C|/cont|") found but error code is not allowed -
KT-62788
K2: difference in annotation inheritance in overriddings -
KT-65669
K2: ClassCastException class FirDeclarationStatusImpl cannot be cast to class FirResolvedDeclarationStatus -
KT-65493
IrFakeOverrideBuilder: difference in return type for intersection with raw type -
KT-65207
IrFakeOverrideBuilder - nullable return type for intersection override -
KT-65972
Fix problems related to Unknown visibility in [FP] intellij -
KT-65246
K2: Overiding java method that takes vararg parameter causes WRONG_NULLABILITY_FOR_JAVA_OVERRIDE warning -
KT-59883
K2: Disappeared INVALID_IF_AS_EXPRESSION -
KT-57300
K2: subclass of MutableCollection with primitive element type has methods with boxed type -
KT-58476
Context receivers: "No mapping for symbol: VALUE_PARAMETER" with context-receiver inside suspended lambda calling another suspended function -
KT-52213
Context receivers: "No mapping for symbol: VALUE_PARAMETER" caused by contextual suspending function type with receiver -
KT-56545
Fix incorrect functions mangling in JVM backend in case of accidental clashing overload in a Java subclass -
KT-13650
Right-hand side of a safe assignment is not always evaluated, which can fool smart-casts -
KT-61823
K2: Render list of declarations in diagnostic messages with linebreak as separator -
KT-65302
IrFakeOverrideBuilder - missing@EnhancedNullability
-
KT-65241
K2: [LT] Compiler crash on assignment expression with incorrect lvalue -
KT-60006
K2: Disappeared EXPRESSION_EXPECTED -
KT-65817
K2: Check if callable reference vararg adaption can be affected by primitive type aliases -
KT-62847
K2: Introduce FIR node for SAM conversion -
KT-65920
K2: no field for delegation is created -
KT-65487
K2: Different fake overrides and false positive NOTHING_TO_OVERRIDE for intersection/override with Collection.remove -
KT-65460
Don't compare order of functions in IR dump -
KT-64276
[K/N][K2] K2 behaviorial difference with inconsistent inheritance of ObjCName -
KT-65572
[K/N][K2] INCOMPATIBLE_OBJC_NAME_OVERRIDE error message changed from K1 -
KT-63420
Prevent weakening visibility in implicit overrides -
KT-64635
K2: "KotlinIllegalArgumentExceptionWithAttachments: Expected expression 'FirAnonymousFunctionExpressionImpl' to be resolved" when provideDelegate is extension of function with receiver -
KT-63879
K2: Redundant flagdeclaresDefaultValue
for parameter of function inherited from delegate -
KT-56744
Prepare language committee ticket about DFA/Smart-cast related changes in K2 -
KT-65790
K2: Move check for private-to-this visibility into checker -
KT-65551
K2: Property redeclaration on native compilation leads to NotImplementedError -
KT-65770
K2: Diagnostic rendering ofvararg Foo
parameter producesvararg Array<Foo>
-
KT-65555
K2: must override 'spliterator' because it inherits multiple implementations for it -
KT-59921
K2: Disappeared NULL_FOR_NONNULL_TYPE -
KT-65290
K2: No override for FUN DEFAULT_PROPERTY_ACCESSOR -
KT-19446
False positive "Smart cast to 'Foo' is impossible" due to same variable names in different closures -
KT-65337
K2: False positive UNRESOLVED_REFERENCE when lambda labeled by illegal label and operator-invoked -
KT-65448
K2: fake overrides are not generated for 'containsAll', 'removeAll', 'retainAll' if inherited from raw type -
KT-65298
K2: not nullable return type and parameter for raw types -
KT-63377
K2: conflict between type parameter and nested class -
KT-63286
K2: Top-level properties in scripts are missing initialization checks -
KT-59744
K2: false negative VAL_REASSIGNMENT in case of reassignment inside custom setter -
KT-58579
K2: false-positive new inference error on invoking a generic function on Java wildcard type bounded by raw-typed Java inner class -
KT-60258
Support java-kotlin interop for@SubclassOptInRequired
-
KT-60262
Support for inter-module interaction for@SubclassOptInRequired
-
KT-62878
K2: missing implicit coercion to unit -
KT-59715
K2: Check behaviour of property + operator in operator position -
KT-63441
IrFakeOverrideBuilder: "accidental override" when implementing a Java function taking an array parameter -
KT-65706
K2: IrFakeOverrideBuilder: ISE "Fake override should have at least one overridden descriptor" on J-K-J-K hierarchy with interface delegation -
KT-61362
K2: Properties/fields are missing from system libraries -
KT-63344
K2: False positive ABSTRACT_CLASS_MEMBER_NOT_IMPLEMENTED -
KT-58845
K2: SAM checker can run incorrectly in presence of an expect supertype -
KT-61843
K2: Missing TYPE_MISMATCH for nested array literals -
KT-62752
expect-actual matcher/checker: return type must be "checking" incompatibility -
KT-59887
K2: Disappeared ACTUAL_MISSING -
KT-65604
K2: INAPPLICABLE_JVM_NAME: effective modality -
KT-65637
Prepare documentation for PCLA implementation -
KT-65341
K2: "Cannot find cached type parameter by FIR symbol" caused by not-null assertion operator inside string in throw -
KT-49283
Support contribution type info from a nested builder inference call -
KT-64077
K2: Builder inference ignores constraints from nested builder inference -
KT-49160
Couldn't infer a type argument through several builder inference calls broken by a local class -
KT-63827
K2: Array += desugaring doesn't have origin -
KT-65057
K2: Wrong type inferred in code with heavy use of generics -
KT-63514
ISE “Inline class types should have the same representation: [I != I” during compilation on submitting UIntArray to vararg -
KT-61088
K2: return types of non-last-expression calls to@PolymorphicSignature
methods inside try-expressions don't resolve to void when required -
KT-62476
K2: Enable building fake overrides by ir on non-JVM targets -
KT-59839
Prohibitheader
andimpl
in MPP -
KT-61310
K2: "Not enough information to infer type variable R" for transformLatest -
KT-63733
Builder-style type inference can't resolve to extension overloads when they're more applicable than member ones -
KT-57707
K1: inconsistent TYPE_MISMATCH in builder inference -
KT-55057
Builder inference changes behaviour sporadically based on BI annotation on unrelated call -
KT-60663
Builder inference does not work inside a nested unrelated builder inference lambda -
KT-53639
TYPE_MISMATCH: compiler can't infer the list's type when usingbuildList {}
builder orCollection#isNotEmpty
-
KT-60291
K2: "IllegalStateException: Cannot serialize error type: ERROR CLASS: Cannot infer argument for type parameter T" during FIR serialization -
KT-65033
K2: Fir2LazyIr: Lazy type aliases not supported -
KT-57709
Inconsistent extension function call resolution in builder inference -
KT-53740
Builder inference with multiple lambdas leads to unsound type -
KT-60877
Builder inference from the null literal results in Nothing instead of Nothing? for producing positions of the postponed type variable -
KT-53553
Builder inference: inconsistent types in different lambda scopes -
KT-54400
K2: builder inference does not work with assignments of literals to member properties -
KT-63840
Builder inference fails on calls to identity-shaped functions with postponed type variables inside select-constructions -
KT-65262
K2: Exception in DFA for combination of try-finally + PCLA + DI -
KT-58169
K2: make equals bounded smart casts work the same as in K1 -
KT-64967
K2: false positive TYPE_MISMATCH with generic type parameters -
KT-64102
K2: Missing (disappeared in this case) DELEGATE_USES_EXTENSION_PROPERTY_TYPE_PARAMETER_ERROR -
KT-63988
K2: Reflection cannot find type of local class of local class -
KT-63901
K2: Different naming of inner class in metadata -
KT-63655
K2: incorrect short class name in metadata for anonymous object inside a local class -
KT-59664
Inline modifier can be added to a constructor parameter, but it does not have any effect -
KT-59418
K2: Missing DUPLICATE_PARAMETER_NAME_IN_FUNCTION_TYPE -
KT-63612
K2: Class is not abstract and does not implement abstract member -
KT-63737
Wasm: revise external declaration FE checker for WASI mode -
KT-59782
K2: Forbid local delegated properties with private accessors in public inline functions -
KT-65482
K2: NoSuchFieldError due to using unboxed type -
KT-61182
Unit conversion is accidentally allowed to be used for expressions on variables + invoke resolution -
KT-62998
Forbid assignment of a nullable to a not-null Java field as a selector of unsafe assignment -
KT-63208
K2: Implement deprecation cycle and fix missing errors for error-level nullable arguments of warning-level Java types -
KT-57600
Forbid overriding of Java method with raw-typed parameter with generic typed parameter -
KT-63147
K2: False negative DSL_SCOPE_VIOLATION when member is annotated with@LowPriorityInOverloadResolution
-
KT-62134
K2: handle non-simple types during FirStatusResolver.isPrivateToThis check -
KT-42020
Psi2ir: IllegalStateException: "IrSimpleFunctionPublicSymbolImpl for public [...] is already bound" on generic function whose substitution leads to IdSignature clash
See the full 2.0.0 ChangeLog here - https://github.com/JetBrains/kotlin/blob/2.0.0/ChangeLog.md
1、 maven-2.0.0-sha256.txt 138.58KB
2、 kotlin-compiler-2.0.0.zip 79.89MB
3、 kotlin-compiler-2.0.0.zip.sha256 64B
4、 kotlin-compiler-2.0.0.spdx.json 31.95KB
5、 kotlin-native-prebuilt-linux-x86_64-2.0.0.tar.gz 176.19MB
6、 kotlin-native-prebuilt-linux-x86_64-2.0.0.tar.gz.sha256 64B
7、 kotlin-native-prebuilt-linux-x86_64-2.0.0.spdx.json 426B
8、 kotlin-native-prebuilt-macos-aarch64-2.0.0.tar.gz 297.49MB
9、 kotlin-native-prebuilt-macos-aarch64-2.0.0.tar.gz.sha256 64B
10、 kotlin-native-prebuilt-macos-aarch64-2.0.0.spdx.json 426B
11、 kotlin-native-prebuilt-macos-x86_64-2.0.0.tar.gz 298.5MB
12、 kotlin-native-prebuilt-macos-x86_64-2.0.0.tar.gz.sha256 64B
13、 kotlin-native-prebuilt-macos-x86_64-2.0.0.spdx.json 426B
14、 kotlin-native-prebuilt-windows-x86_64-2.0.0.zip 169.22MB
15、 kotlin-native-prebuilt-windows-x86_64-2.0.0.zip.sha256 64B
16、 kotlin-native-prebuilt-windows-x86_64-2.0.0.spdx.json 437B