SoundLine
SoundLine copied to clipboard
Update kotlin monorepo to v2.3.0
Note: This PR body was truncated due to platform limits.
This PR contains the following updates:
| Package | Change | Age | Confidence |
|---|---|---|---|
| org.jetbrains.kotlin.plugin.compose (source) | 2.0.21 -> 2.3.0 |
||
| org.jetbrains.kotlin.kapt (source) | 2.0.21 -> 2.3.0 |
||
| org.jetbrains.kotlin.android (source) | 2.0.21 -> 2.3.0 |
||
| org.jetbrains.kotlin:kotlin-stdlib (source) | 2.0.21 -> 2.3.0 |
Release Notes
JetBrains/kotlin (org.jetbrains.kotlin.plugin.compose)
v2.3.0: Kotlin 2.3.0
Changelog
Analysis API
-
KT-80082K2. False positive "Cannot resolve method" for self-bounded generic with wildcard return type in Java interop -
KT-80303Move:native:analysis-api-klib-readerto:libraries:tools
Analysis API. Code Compilation
-
KT-70860K2 IDE / Kotlin Debugger: CCE “java.lang.String cannot be cast to java.lang.Void” on evaluating not-null variable on the line with assigning null to that var -
KT-78554K2 IDE / Kotlin Debugger: ISE “No override for FUN IR_EXTERNAL_DECLARATION_STUB” on calling toString() for local class instance during evaluation -
KT-73201K2 IDE: Error while evaluating expressions with local classes
Analysis API. FIR
-
KT-81378Expected expression 'FirFunctionCallImpl' to be resolved caused bysuspend {} -
KT-80473Add events for tracking LL activities -
KT-46375Analysis API: Support cross-file class redeclaration checks using indices -
KT-80471Analysis API: Deduplicate equivalent call candidates inresolveToCallCandidates -
KT-79653[Analysis API] ContextCollector: BODY context of enum classes doesn't contain enum entries -
KT-75858K2 AA: False positive 'property must be initialized' on incremental analysis with 'field' usage and semicolon in setter -
KT-80231AnnotationArgumentsStateKeepers doesn't restore the initial annotation in some cases -
KT-80233Pull mutation out of AnnotationArgumentsStateKeepers -
KT-71466LLFirBuiltinsSessionFactoryusescreateCompositeSymbolProvider -
KT-76432JavaClassUseSiteMemberScope: Expected FirResolvedTypeRef with ConeKotlinType but was FirUserTypeRefImpl
Analysis API. Infrastructure
-
KT-80717Support IntelliJ Bazel build in the Kotlin Coop development mode
Analysis API. Light Classes
-
KT-80656Duplicate no-args constructor in PSI -
KT-60490Symbol Light Classes: Property accessors from a delegated interface don't present in the delegating class -
KT-79689SymbolLightClassForClassLike.toString() causes PSI tree loading -
KT-80690Private interface functions are not present in light classes -
KT-80256K2: Certain actions in JPA code causes infinite PIEAE: "Element class CompositeElement of type REFERENCE_EXPRESSION (class KtNameReferenceExpressionElementType)" -
KT-79012Add a high-level overview of light classes
Analysis API. Providers and Caches
Fixes
-
KT-81476Analysis API:AlreadyDisposedExceptionfrom low-memory cache cleanup -
KT-80911Analysis API: Execute session invalidation in a non-cancelable section -
KT-81242Analysis API: Add UUID/lifetime properties to LL FIR session structure logging -
KT-80622Analysis API: Visualise LL FIR session structure & weight -
KT-80904Analysis API: "Invalid dangling file module" exception during session invalidation -
KT-78882K2 AA: Calling containingSymbol on getProgressionLastElement causes exception -
KT-58325Analysis API: CombineLLKotlinStubBasedLibrarySymbolProviders in session dependencies (optimization) -
KT-77825Analysis API:CheckersComponentconsumes a lot of memory while being unused in LL FIR sessions -
KT-76526Incorrect built-in module is provided for non-JVM sources in Standalone -
KT-62549Analysis API: Cache callables in combined Kotlin symbol providers -
KT-70721LL FIR: investigate possibility of movingLLFirFirClassByPsiClassProvider . getClassByPsiClass (PsiClass)to symbol providers -
KT-72998Analysis API: IntroducegetClassLikeSymbolByPsito LL FIR symbol providers
Analysis API. Standalone
-
KT-81108AA: java.lang.ClassCastException: class org.jetbrains.kotlin.fir.FirBinaryDependenciesModuleData cannot be cast to class org.jetbrains.kotlin.analysis.low.level.api.fir.projectStructure.LLFirModuleData -
KT-80573Potential performance issue on class ID computation -
KT-80559Try to optimize KotlinStandaloneDeclarationProviderFactory startup for tests -
KT-71706Analysis API Standalone:StandaloneProjectFactory.createSearchScopeByLibraryRootscreates inefficient file-based search scopes
Analysis API. Stubs and Decompilation
Performance Improvements
-
KT-77097SupportReplaceWithdeprecation annotation argument via stubs
Fixes
-
KT-80350Drop K1 decompiler -
KT-77082StackOverflowError in CreateFreshTypeVariableSubstitutorStage.shouldBeFlexible -
KT-80798Improve stubs tests coverage -
KT-75318Read context parameter fields from metadata in CallableClsStubBuilder -
KT-77874AA disagrees with the compiler on descriptions of context parameters from binaries in messages for context argument ambiguity errors -
KT-80276Implement native coping for stubs -
KT-79780Decompiled MultifileClass has Facade kind -
KT-79398isClsStubCompiledToJvmDefaultImplementation flag is inconsistent for compiled and decompiled stubs -
KT-79798Prettify stub usages in LL stub-based deserializer -
KT-78949AbstractLLStubBasedResolutionTest: tests against real stub-based files -
KT-80251Inconsistent decompiled and compiled stub for properties with an initializer and a delegate -
KT-74547Implement decompiler for K2 -
KT-79555Move KotlinFileStubImpl serialization/deserialization to the Analysis API -
KT-79487"null DefinitelyNotNullType for 'T'" from decompiler -
KT-60764Stub Builder: fix differences between K1 and K2 stub building on decompiled files -
KT-79484An empty enum class with a member decompiles with a synthetic error -
KT-79730Decompiled files have an extraKtsuffix -
KT-79483data modifier is not present on object modifier -
KT-75398Local classes from scripts have ClassId in stubs -
KT-79412Context parameters with type annotations cause inconsistency errors while building stubs
Analysis API. Surface
New Features
-
KT-80084Provide endpoints for Analysis API to understand when the context sensitive resolution is used -
KT-64340Analysis API: no way to get a type of vararg parameter -
KT-68387AA: provide context for type approximations
Performance Improvements
-
KT-80713Optimize KaDeclarationSymbol#visibility for class-like symbols -
KT-79097KaFirNamedFunctionSymbol#isSuspend shouldn't trigger resolution -
KT-79095isOverride shouldn't trigger resolution if not compiler plugins present
Fixes
-
KT-80234Incorrect value ofisActualfor the implicitlyactualconstructor of annotation class -
KT-81132Use KaSession instead of a particular KaSessionComponent for context parameter bridges -
KT-81129K2: KaSymbolInformationProvider#importableFqName: should return null for dynamic declarations -
KT-81128K2: KaSymbolInformationProvider#importableFqName: should return null for error destructuring declarations -
KT-81127K2: KaSymbolInformationProvider#importableFqName: should return null for anonymous functions -
KT-81126K2: KaSymbolInformationProvider#importableFqName: should return null for enum entry initializer constructors -
KT-81125K2: KaSymbolInformationProvider#importableFqName: should return null for property accessors -
KT-81124K2: KaSymbolInformationProvider#importableFqName: type alias constructor should have a reference to the type alias and not to the underlying class -
KT-70127Analysis API: 'KaFirReceiverParameterSymbol' does not implement 'KaFirSymbol'; leads to exception fromimportableFqName -
KT-81123Reimplement KaFirSymbolInformationProvider#importableFqName -
KT-81122Drop KaImportOptimizer -
KT-78093Add bridges for context parameters -
KT-79772Migrate from 'validityAsserted' to 'withValidityAssertion' -
KT-79328K2 AA, isUsedAsExpression: Unhandled Non-KtExpression parent of KtExpression: class org.jetbrains.kotlin.psi.KtImportDirective -
KT-80366IllegalStateException from KaFirStopWorldCacheCleaner -
KT-80274Merge AbstractMultiModuleSymbolByPsiTest to AbstractSymbolByPsiTest -
KT-80352KaBaseResolutionScope.contains(PsiElement) always returns false for Android light classes (e.g. synthetic R.java classes) -
KT-80178Incorrect modality for an abstract interface function with a redundantopenmodifier -
KT-79129[Analysis API]KaFe10TypeCreator.buildClassTypecannot build builtin types by class ids -
KT-79143AA:argumentMappingcontains an expression that is not an argument -
KT-59857KaExpressionTypeProvider#returnType shouldn't throw an exception for class like declarations -
KT-79667Enable resolve on java record components in standalone mode -
KT-73050KaFirSymbolRelationProvider#expectsForActual: suspicius logic for KaReceiverParameterSymbol -
KT-78904KaBaseWriteActionStartedChecker throws when no additional WA was done -
KT-79281Add KDoc toKaTypePointer#restore -
KT-78597KaUseSiteVisibilityChecker returns false for internal functions exposed via implicit receiver -
KT-71705FIR api impl: Postfix increment expression'sexpressionTypeis Unit when incrementing array element -
KT-75057Analysis API: Reference to object through typealias in invoke operator call leads to original type
Backend. Native. Debug
-
KT-79848Flaky debugger tests in opt.debug/cache.*/GC.CMS/GC.sch.ad/alloc.custom configuration
Backend. Wasm
New Features
-
KT-59032Support instantiation of annotation classes on WASM
Fixes
-
KT-76204K/Wasm: support generating a wasm module per kotlin module/klib -
KT-79357K/Wasm: store data for string literals in utf8 for Latin1 -
KT-82075K/Wasm: kotlin.wasm.internal.getSimpleName crashes on iOS Safari older than 26 -
KT-79244[Wasm] Drop K1-specific tests, testrunners and test directives -
KT-69621K/Wasm: Consider enabling support for KClass.qualifiedName by default -
KT-80397K/Wasm: turn on by default using a new version of the exception handling proposal for wasm-wasi target -
KT-81372K/Wasm: JsException: Exception was thrown while running JavaScript code on Safari 18.2/18.3 -
KT-80018K/Wasm: exceptions don't work properly in JavaScriptCore (vm inside Safari, WebKit) -
KT-66072K/Wasm: improve how exceptions work in JS interop -
KT-80106devServer in Kotlin/Wasm overwrites defaults, causing missing static paths -
KT-80210Wasm: "Unexpected non-external class: kotlin.Nothing" caused by JsExport with JsPromise -
KT-80555WASM IC: Can't link symbol on kotlinx.coroutines on fresh master -
KT-80415WasmJs Number Elvis Operator Crash -
KT-76509WasmJS: ReferenceError: Temporal is not defined caused by "Redundant reference to unused external results" -
KT-79317[Wasm] Do not throw CCE for ExcludedFromCodegen declarations -
KT-78036K/Wasm: generate a message with "expected" and "actual" types in case of CCE
Compiler
New Features
-
KT-80461K2: false positive NO_ELSE_IN_WHEN for complex sealed hierarchy -
KT-77676K/N: enable typechecks and the casts optimization pass in debug mode by default -
KT-79185Support local type aliases -
KT-80837Warn about extension function with a context shadowed by member -
KT-80768Warning on overloading by a superset of context parameters in class context -
KT-80031Check spotbugs's@CheckReturnValuein Kotlin's unused return value checker -
KT-79380Native: add performance measurement for the rest of backend phases -
KT-79381Native: add performance measurement of LLVM phases -
KT-80222Implement the prohibition of always-falseischecks for definitely incompatible types -
KT-79295Parse and build raw FIR from new short and full forms of positional destructuring with square brackets -
KT-74810Support typealiased/mapped Java types in unused return value checker -
KT-71244Incorporate existing@CheckReturnValueannotation(s) into Kotlin's unused return value checker -
KT-79922Record 'MustUse/ExplicitlyIgnorable' state for overrides even in disabled RVC mode -
KT-79920Store 'Explicitly ignorable' state of function/property in the metadata -
KT-79690Implement a USELESS_ELVIS_LEFT_IS_NULL with elvis expression -
KT-79296Implement/adapt diagnostics for new destructuring -
KT-79298Report errors on new destructuring syntax in K1
Performance Improvements
-
KT-81617Native: casts optimizations pass explodes on deep nested loops -
KT-80554Kotlin/Native: investigate performance hit from always-on llvm pass profiling -
KT-81340K/N: severe compilation time degradation after turning on casts optimization pass -
KT-80370Add NO_INLINE attribute to some of runtime functions -
KT-80167K/N: condense the nodes and edges in DevirtualizationAnalysis constraint graph -
KT-79535Revert incorrect SAM conversion enhancements brought to K2
Fixes
-
KT-79979K2: ClassCastException when overriding extension property with delegation -
KT-82590ClassCastException when instantiating class with generics implemented by fun interface and lambda -
KT-78881K2: False positive "Assigned value is never read" in composable function -
KT-79276Dexing fails with "Cannot read field X becauseis null" with 2.2.0 -
KT-79547"UnsupportedOperationException: Not supported" with inlining and value classes -
KT-79442"Multiple annotations of type kotlin.coroutines.jvm.internal.DebugMetadata": 2.2.0-Beta1 generates broken code with JVM default suspend methods in interfaces -
KT-80744Kotlin failure on lambda with type parameter -
KT-81618"Number of arguments should not be less than number of parameters" on JVM on Kotlin 2.3.0-Beta1 -
KT-82869Green-to-Red change in 2.3 after prioritizing non-suspend-function-type overloads -
KT-79611"IllegalStateException: couldn't find inline method": Exception during incremental compilation -
KT-78895Consider dropping isLocalInFunction and FirClassLikeDeclaration.isLocal -
KT-82040Native: ClassCastException: PointerInputChange -
KT-81924K2: "Cannot infer type for this parameter", "Overload resolution ambiguity between candidates" -
KT-80864K2: MissingVal cannot be reassigneddiagnostic for Java final fields (crashes in runtime withIllegalAccessError) -
KT-71420Report error when reified type parameter is inferred to intersection type -
KT-79451Rework approach to recursive types approximation -
KT-78413Kotlin Debugger: value classes as context parameters have incorrect names in Variables View during debugging -
KT-82138Debugger: Cannot evaluate JvmInline value class parameter -
KT-82381ArrayIndexOutOfBoundsException while FirDiagnosticsCompilerResultsReporter tries to print code as part of a warning log -
KT-81068Corrupted Unicode paths passed or used in the compiler -
KT-79783KDoc parser: Links aren't rendered if the line has an indent of 4 or more -
KT-80549Call of Java method with type parameter bounds: Expected FirResolvedTypeRef with ConeKotlinType but was FirJavaTypeRef -
KT-82132False-positive type mismatch with -language-version 2.2 -
KT-81988K2: Any?.toString() causes NPE inside lambda with Java -
KT-81652Native: ClassCastException: ApplicationForegroundStateListener.Companion -
KT-76479Backend. JVM: Report errors on exposure of types in inline functions -
KT-82022K/N: Unexpected "Annotation@JvmInlineis missing on actual declaration" warning with value classes -
KT-80250ISE: flow for PostponedLambdaExitNode not initialized - traversing nodes in wrong order? -
KT-76344Drop language version 1.9 for non-JVM platforms -
KT-76343Drop language version 1.8 -
KT-80330K2: NPE at org.jetbrains.kotlin.fir.resolve.calls.FirCallResolver.createResolvedNamedReference -
KT-80400K2: AbstractMethodError on fun interface implementation inheriting from an interface compiled with -jvm-default=disable -
KT-9111Improve diagnostic for call with access to outer class from nested class -
KT-78280Implement the sourcelessKtDiagnostics -
KT-74999K2: KotlinNothingValueException within Extension Function -
KT-81254"AssertionError: There should be at least one non-stub type to compute common supertype": Parser issue during generic type inference -
KT-53237NI: Frontend ignores generic bound when inferring types -
KT-81186Only allow local type aliases in REPL/scripts until full stabilization -
KT-80929IC Native: Undefined symbols on ktor -
KT-81657K2: put warning about "exposing package-private in internal" under experimental language feature -
KT-81241Konanc exit while lowering org.jetbrains.kotlin.ir.util.IrUtilsKt.remapTypeParameters -
KT-74819K2: False-positive overload resolution ambiguity for flatMap inside PCLA -
KT-81547Stabilize DFA-based exhaustiveness -
KT-79274Frontend implementation of name-based destructuring -
KT-79506Contract for getter and setter doesn't work if a property is called from another module -
KT-58988K2: Deprecate exposing package-private parameter of internal method -
KT-80711IC Native: NPE during link on ktor -
KT-77727Move some of the extra checkers to the default list -
KT-76136Switch latest stable version in Kotlin project to 2.3 -
KT-81257Native: "Unexpected boolean predicate" when generating 'static_cache' -
KT-81525Report REDUNDANT_SPREAD_OPERATOR on (*) instead of argument expression -
KT-81522Fix Light TreeSPREAD_OPERATORdiagnostic positioning -
KT-77008K2: Incorrectly force casting to a wrong type -
KT-78127K2: Too precise inference for if/when with expected type in assignment -
KT-80208K2: ClassCastException: "class java.util.ArrayList cannot be cast to class java.lang.Void" type inference picks Void for generic function -
KT-75797Native: find a way to handle generates C bridges in inline functions -
KT-78819K2: False positive ABSTRACT_MEMBER_NOT_IMPLEMENTED in KJK hierarchy -
KT-80003Kotlin/Native: deprecate eager GlobalData initialization -
KT-79231Inconsistent InnerClass entry flags for abstract inner enum -
KT-20677Improve diagnostic about implicit default constructor absence for expected annotation class -
KT-81385Missing error of nullable expression in class literal in case of reified type parameter -
KT-81251Smartcast doesn't work for an effectively private inline function -
KT-81245Automatic smart cast on properties with EBF is allowed on inlined property accessors -
KT-81222Custom getter is allowed on a property with redundant EBF -
KT-80795Wrong type cast is added for IMPLICIT_COERCION_TO_UNIT -
KT-81141Fix FirUnsupportedArrayLiteralChecker to forbid array literals inside non-annotation contexts -
KT-81383Return type of anonymous function used asrunargument is incorrectly inferred toNothing -
KT-80577"Return type mismatch" for self-referential types used as generic parameters -
KT-75215KDoc: references from@paramtag are rendered as plain text -
KT-79887K2 Compiler Internal Error in 'FirFakeOverrideGenerator.checkStatusIsResolved' Method -
KT-78125false-negative shadowed contextual overload warning on local declarations -
KT-81198Move type and type parameter annotations from jvm_metadata.proto to metadata.proto -
KT-81057Wrong handling of boxing during redundant casts optimization -
KT-81191K2: "null cannot be cast to non-null type ConeTypeParameterLookupTag" with invalid code -
KT-80285IJ monorepo: broken compilation after 2.2.20-RC update -
KT-81115Allow converting lambda with explicit parameter when assigning to variable of an extension function type -
KT-74588Redundant checkNotNull intrinsics instructions for Java generic methods -
KT-78390UnmuteFusStatisticsIT.testKotlinxPlugins()after AtomicFU updateskotlin-metadata-jvm -
KT-79369Forbid typealiasing for all compiler-required annotations -
KT-69294K2: ReportCONSTRUCTOR_OR_SUPERTYPE_ON_TYPEALIAS_WITH_TYPE_PROJECTION_ERRORinstead ofEXPANDED_TYPE_CANNOT_BE_INHERITEDafter switching to LV 2.2 -
KT-81064Wrong safe call null check handling during redundant casts optimization -
KT-80871StackOverflowError on AnnotationTarget.TYPE -
KT-80908K2: Compiling type annotation with self-annotated vararg fail with exception -
KT-81018ISE "IR class for Foo not found" on missing dependency when lowering SAM constructor -
KT-80936NON_PUBLIC_CALL_FROM_PUBLIC_INLINE :@PublishedApidoesn't work for fun interfaces -
KT-75748StackOverflowError when reading array from metadata annotations -
KT-80606KotlinIllegalArgumentExceptionWithAttachments when using property itself in explicit backing field initialization -
KT-80940K2: Exception in FIR2IR with AnnotationTarget.TYPE with self-annotated non-vararg default argument and usage in child module -
KT-80538KaFirDiagnostic.EmptyRange doesn't work in most of the cases -
KT-80524Class is not abstract and does not implement abstract member when compiling with kotlinc-jklib -
KT-80597Apply fix for CVE-2024-7254 to our fork of protobuf 2.6.1 -
KT-80849K2:ConstValueProviderImpldoesn't distinguish files with same name and package -
KT-80602Exhaustiveness checker improvements for 2.3 -
KT-80735Support || return/throw shortcut in unsed return value checker -
KT-79651Report a warning about an unused return value only on the function name -
KT-80719False positive: "Redundant visibility modifier": when overriding protected methods as "public" -
KT-80434K2: DSL marker doesn't work with lambda fields -
KT-80383Getter without a body is allowed on a property with an explicit backing field -
KT-80446Explicit visibility modifiers are allowed on EBF -
KT-80378ClassCastException on callable reference to a property with EBF -
KT-80377Fir2Ir: "Cannot determine expected receiver type" for callable reference to a property with EBF outside of class -
KT-80455K2: StackOverflowError in when exhaustiveness checker on red code -
KT-72862[Native caches] Umbrella for failing codegen/box tests for corner cases in synthetic accessors -
KT-20278NO_TYPE_ARGUMENTS_ON_RHS: Confusing diagnostic for inner class of generic outer class -
KT-80418Property with EBF with functional type isn't resolved if its type is Any -
KT-80469Functional type from property is always used for explicit backing field -
KT-80535Missing INITIALIZER_TYPE_MISMATCH for EBF -
KT-80445Private visibility is possible for a property with EBF -
KT-80164Move name generation for unnamed context parameters to frontend -
KT-80684Line breaks are lost in multi-line diagnostic messages since 2.3.0 -
KT-78112RETURN_VALUE_NOT_USED is reported for local function even if it isn't marked with annotation in CHECKER mode -
KT-48311Incorrect LINENUMBER after if with a suspend call -
KT-80688Bad SourceDebugExtension caused by enhanced coroutines debugging -
KT-73851Native: compilation fails with ClassCastException with genericSafeCasts=true -
KT-77593Add a warning when@IgnorableReturnValueis inconsistent between expect/actual functions -
KT-79386Confusing error message when named parameters are used for java method calls -
KT-80600K2: Private and final modifiers are allowed on setter of open delegated property -
KT-77101Invoke on callable reference is considered ignorable -
KT-79923Remove lookup of@IgnorableReturnValueannotation from FirReturnValueOverrideChecker -
KT-80517Synthetic kotlin.Any members in data classes are missing@MustUseReturnValue -
KT-80194VAR_TYPE_MISMATCH_ON_OVERRIDE: doesn't mention the inferred type -
KT-80484K2: ClassCastException due to fake source for implicit lambda parameter (RedundantNullableChecker) -
KT-80592UninitializedPropertyAccessExceptionwhen anayzing annotations on members of anonymous classes -
KT-80399Anonymous Kotlin class incorrectly warns about deprecated java override despite '@Deprecated' annotation -
KT-79610Adding CocoaPod to Kotlin/Native MPP triggers IR serialization failure and commonizer errors -
KT-79951Infinite loop in parsing incomplete full form destructuring -
KT-79866kotlinc 2.2.0 silently emits 'NonExistentClass' instead of reporting an error -
KT-79777Argument type mismatch on value of complex type with a captured raw type argument -
KT-78664False positive VARIABLE_NEVER_READ and ASSIGNED_VALUE_IS_NEVER_READ on function type variable with splited declaration and assignment -
KT-79496False positive "when must be exhaustive" in triangle interface/class hierarchy -
KT-79774KtDestructuringDeclaration.getLPar & getRPar are broken -
KT-80391K2: Only one context parameter is mentioned in the [NO_CONTEXT_ARGUMENT] diagnostic -
KT-79785ktypew:kotlin.collections.List already exists error using Swift Export -
KT-78879"Sealed types cannot be instantiated": Can't instantiate Java-defined sealed Class from Kotlin -
KT-21598Extension is shadowed by member should not be reported when member is deprecated with HIDDEN level -
KT-79622FUNCTION_EXPECTED: Misleading 'expression cannot be invoked as a function' when inaccessible with private lambda -
KT-80255[EXTENSION_FUNCTION_IN_EXTERNAL_DECLARATION] can be attached to the receiver type of a functional type -
KT-79816Java Interfaces implemented by delegation have non-null return checks -
KT-80177Improve message of RECEIVER_SHADOWED_BY_CONTEXT_PARAMETER in case of member extension -
KT-79770There is no RECEIVER_SHADOWED_BY_CONTEXT_PARAMETER if the usage of fun is from inside the class -
KT-79430False positive EXTENSION_SHADOWED_BY_MEMBER on overridden member extension -
KT-62934Incorrect line mapping inside inline lambda after non-local return -
KT-79545K2: no error on crossinline lambda usage in anonymous object base constructor call -
KT-79643HAS_NEXT_FUNCTION_AMBIGUITY and NEXT_AMBIGUITY diagnostics are always ignored in favor of HAS_NEXT_FUNCTION_NONE_APPLICABLE and NEXT_NONE_APPLICABLE -
KT-79327Modifier 'private' is not applicable to 'value parameter' is reported for context parameters -
KT-76453K2 IDE: autocomplete freeze -
KT-77182A function in a file annotated with@file:MustUseReturnValue doesn't produce a warning when it is used from compiled code -
KT-78541Jspecify: Unsound platform type despite@NullMarkedfor an override with a generic-subclass return type -
KT-79672'when expression must be exhaustive' even after using 'require()' -
KT-71306K2 IDE / Kotlin Debugger: “Cannot find local variable 'block' with type kotlin.jvm.functions.Function0” on evaluating lambda arg inside inline function -
KT-76991K2 IDE / Kotlin Debugger: ISE “Couldn't find declaration file for” on evaluating local fun when the scope has also inline fun from another file call -
KT-79877K2 IDE / Kotlin Debugger: failed evaluations of a code fragment capturing local data class -
KT-77401[FIR]ParameterNameTypeAttribute.namedoesn't support@ParameterNamewith compile-time constant property argument -
KT-79682Fix partially uninitialized locals after coroutine spills insertion -
KT-79562NPE when passing non-lambda argument of nullable non-suspend function type into function that accepts nullable suspend function type -
KT-79693NotImplementedError: An operation is not implemented: Unknown file with KMP separate compilation -
KT-79662Unused return value checker doesn't work for com.google.errorprone.annotations.CheckReturnValue -
KT-79781Missing MISSING_DEPENDENCY_CLASS when using type alias with inaccessible RHS -
KT-77772Only report exposed type on qualifier if it's resolved to an object -
KT-79765K2. Do not report ignore return value for unresolved reference -
KT-79017False negative REDECLARATION on private nested class -
KT-79519Nested type alias is unreachable from another module -
KT-72039StackOverflowError on calling keySet on a Kotlin subclass of Java subclass of ConcurrentHashMap -
KT-75843K2: incorrect line numbers in an if-expression with a super-call -
KT-77504Add a warning when@IgnorableReturnValueis inconsistent on overrides -
KT-78389Perform version 2.3 boostrapping -
KT-79092Crash on default argument in function in fun interface -
KT-77729Package-level@NullMarkeddoes not work when kotlinc sees .java source files -
KT-79013False negativeNOT_YET_SUPPORTED_IN_INLINEon inline local functions inside inline functions -
KT-79139False positive CONFLICTING_OVERLOADS for context parameters instead of receivers -
KT-35305Address the overload conflict resolution between unsigned and non-primitive types -
KT-42096No diagnostic reported oninlinemodifier on an enum entry -
KT-79355Failed to fix the problem of desugaredincwith new reverse implies returns contract -
KT-79277Implies returns contract doesn't affect the return type of the function if it is in the argument position -
KT-79271Implies returns contract doesn't impact exhaustiveness -
KT-79218SMARTCAST_IMPOSSIBLE for top‑level extension‑property getter despite returnsNotNull contract -
KT-79220returnsNotNull contract ignored on extension function with nullable receiver -
KT-79354IllegalStateException: Debug metadata version mismatch. Expected: 1, got 2 with compiler 2.2.20-Beta1 and stdlib 2.2.0 -
KT-77986K2: False negative: "Local classes are not yet supported in inline functions" -
KT-79456Redeclaration conflict checks of private top-level classifiers rely on an incorrect containing file -
KT-79125RVC full mode: delegated interfaces are not checked -
KT-63720Coroutine debugger: do not optimise out local variables -
KT-78595type variable leak on a generic property as a call argument given an unstable smart cast -
KT-79076'IllegalStateException: Cannot serialize error type: ERROR CLASS: Uninferred type' with Exposed column using recursive generic type -
KT-59807K2: Replicate the MUST_BE_LATEINIT logic from K1 -
KT-76782K2: Incorrect resolve into unrelated invoke operator with wrong diagnostic -
KT-78066TYPE_PARAMETER_OF_PROPERTY_NOT_USED_IN_RECEIVER error message does not account for context parameters -
KT-76065Drop JavaTypeParameterDefaultRepresentationWithDNN feature -
KT-77808Inference: recheck the code about DNN-related hacks -
KT-24202NOTHING_TO_OVERRIDE if super-class reference misses generic arguments -
KT-78909K2: Missing diagnostics [CYCLIC_INHERITANCE_HIERARCHY] for recursive class inheritance leads to StackOverflowError -
KT-75969java.lang.IllegalArgumentException: source must not be null on red code -
KT-76902Omit type-use annotations from diagnostics -
KT-17460Diagnostics and intention on suspend function that is overriden with non-suspend one. -
KT-56665K2: false positive RECURSIVE_TYPEALIAS_EXPANSION -
KT-78932Contracts are allowed for open and overridden property accessors -
KT-77203FIR: Consider adding destructured type to all COMPONENT_FUNCTION_* diagnostics -
KT-77685"IllegalArgumentException: Sequence contains more than one matching element" -
KT-78452Drop redundant frontend structures after fir2ir conversion -
KT-70507Should parentheses prevent from plus/set operator desugaring?
Compose compiler
New features
-
98d3907Introduce a compose group analysis module that produces a proguard/R8 mapping from group keys in bytecode.
Fixes
-
b/419049140Disabled memoization intryblocks -
KT-81081Generate Compose-specific proguard mappings when Compose compiler plugin is applied. -
b/431025881[Compose] Clean up runtime version checker -
b/365922168Addjava.util.Localeto the list of known stable classes -
b/407549020Introduce a registry of known stable markers -
b/417989445Added a diagnostic to restrict usages ofrunCatchingin@Composablefunctions -
KT-80294Fix crash with inline@Composablefunction reference -
b/430140896Fix IrSourcePrinter output for when branch check and typechecks -
CMP-9167iOS: Platform declaration clash: The following functions have the same IR signature
IDE. Gradle Integration
-
KT-46273MPP: Don't fail import for case of missed platform in source set structure -
KT-46417[UNRESOLVED_REFERENCE] For project to project dependencies of native platform test source sets -
KT-44845After update to Kotlin 1.4.30 all external dependencies is unresolved in IDE with kotlin.mpp.enableGranularSourceSetsMetadata=true -
KT-46142K/N distribution is unavailable from IDE with multiplatform hierarchical project structure enabled
IR. Actualizer
-
KT-77337IrNoExpectSymbolsHandlerfinds expect class reference after enabling annotation traversal in IR -
KT-80002Investigate the need for map copying in IrCommonToPlatformDependencyExtractor.kt -
KT-80131KMP Separate Compilation: No override for FUN IR_EXTERNAL_DECLARATION_STUB name: -
KT-80064KMP Separate Compilation: ClassCastException: class org.jetbrains.kotlin.ir.symbols.impl.IrTypeAliasSymbolImpl cannot be cast to class org.jetbrains.kotlin.ir.symbols.IrClassSymbol -
KT-80051KMP Separate Compilation: Actualization of common dependencies failed on 'PROPERTY FAKE_OVERRIDE name:modCount visibility:protected modality:FINAL [fake_override,var]' -
KT-79998KMP Separate Compilation: java.lang.IllegalStateException: No override for FUN IR_EXTERNAL_DECLARATION_STUB name:
IR. Inlining
New Features
-
KT-70360KLIBs: Uniformly handletypeOf()calls at 1st/2nd stages of compilation
Performance Improvements
-
KT-69497Crossinline lambda is allocated on K/N & JS
Fixes
-
KT-78673Make fakeOverrideLocalGenericBase not using red code -
KT-78537[Inliner] Incorrect KFunction.name of a reference to inlined local function -
KT-74892Investigate passing inline lambda as argument of another inline function -
KT-81673False warnings about ABI change in dependencies in library mode in 2.3.0-Beta1 -
KT-81713[Inliner] Compilation of inline function with recursive call applied to TODO() fails with an internal error -
KT-80653[IR Inliner] Space: "Local declarations should've been popped out by this point" -
KT-78392CommonPrefix: Add a way of stopping execution when one of the phases is unsuccessful -
KT-80927[Native] Review intrinsics with PublishedApi -
KT-81070[Inliner] kotlin/Any is unbound -
KT-80628KLIB inliner: Not enough information about the "full" mode -
KT-69516Double-inlining for Native: Enable visibility checks after 1st phase of inlining -
KT-79334Unify intrinsics used on 1st phase of IR inliner in KLIB-based compilers -
KT-80610KLIB inliner: Always apply cross-module inlining to pre-processed inline functions -
KT-80565KLIB Inliner: Add a special annotation to prohibit inlining of marked inline functions in stdlib on 1st compilation phase -
KT-80883[Inliner] Run pre-serialization lowerings in all testrunners -
KT-77876IrVisibilityChecker: Different set of exceptions for 1st and 2nd compilation stages -
KT-80693[IC] Split IC invalidation tests for cross-module IR Inliner -
KT-79718KLIB inliner: Emit warning on generation ofpublicsynthetic accessor when running in "explicit API mode" -
KT-80226[IR Inliner] Generate constructor accessors as constructors, not static functions -
KT-80692[IC] Split IC invalidation tests for intra-module IR Inliner -
KT-77103[Inliner] IrLocalDelegatedProperty was not serialized, while its symbol and IrRichPropertyReference were. -
KT-80537The expected error is not emitted from FirJsKlibSyntheticAccessorsTestGenerated and NativeKlibSyntheticAccessorsTestGenerated -
KT-78903Unifycodegen/boxInlinetests withcodegen/box -
KT-78989Add missing PL tests for inline functions/property accessors -
KT-79771kotlinx-coroutines-core: Public synthetic accessor generated with enabled KLIB IR inliner -
KT-79680IrConstructorSymbolImpl is unboundin lambdaWithoutNonLocalControlflow.kt -
KT-70849Ensure correct debug info for intra-module IR inlining on the first compilation phase -
KT-79800JS BE errors with default
Configuration
📅 Schedule: Branch creation - At any time (no schedule defined), Automerge - At any time (no schedule defined).
🚦 Automerge: Disabled by config. Please merge this manually once you are satisfied.
♻ Rebasing: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox.
🔕 Ignore: Close this PR and you won't be reminded about these updates again.
- [ ] If you want to rebase/retry this PR, check this box
This PR was generated by Mend Renovate. View the repository job log.