Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

chore(deps): update kotlin to v2.0.20 #87

Merged
merged 1 commit into from
Sep 1, 2024

Conversation

renovate-self-hosted-apter[bot]
Copy link
Contributor

@renovate-self-hosted-apter renovate-self-hosted-apter bot commented Sep 1, 2024

This PR contains the following updates:

Package Type Update Change
org.jetbrains.kotlin.jvm (source) plugin patch 2.0.0 -> 2.0.20
org.jetbrains.kotlin.android (source) plugin patch 2.0.0 -> 2.0.20
org.jetbrains.kotlin:kotlin-reflect (source) dependencies patch 2.0.0 -> 2.0.20
org.jetbrains.kotlin:kotlin-test-junit5 (source) dependencies patch 2.0.0 -> 2.0.20

Release Notes

JetBrains/kotlin (org.jetbrains.kotlin.jvm)

v2.0.20

Analysis. API
New Features
  • KT-68143 Analysis API: support KtWhenConditionInRange call resolution
Performance Improvements
  • KT-67195 K2: do not call redundant resolve on body resolution phase for classes
Fixes
  • KT-67360 Analysis API: KtDestructuringDeclarationSymbol#entries shouldn't be KtLocalVariableSymbol
  • KT-67748 K2: AllCandidatesResolver modifies the original FirDelegatedConstructorCall
  • KT-68198 Analysis API: Support application service registration in plugin XMLs
  • KT-62936 Analysis API: NativeForwardDeclarationsSymbolProvider is not supported for Kotlin/Native
  • KT-68689 LL API: support analysis from builtins module
  • KT-69630 KAPT User project builds with KAPT4 enabled fail with Metaspace overflow
  • KT-65417 K2 IDE: KTOR false positive expect-actual matching error on enum class because of implicit clone() in non-JVM source sets
  • KT-68882 Analysis API: Refactor KaSymbols
  • KT-65413 K2 IDE: KTOR unresolved serializer() call for @Serializable class in common code
  • KT-67996 Analysis API: rename Kt prefix to Ka
  • KT-67775 Analysis API: expose only interfaces/abstract classes for the user surface
  • KT-68009 K2: lowering transformers of Compose compiler plugin access AbstractFir2IrLazyFunction modality, which results in null point exception
  • KT-68918 collectCallCandidates works incorrectly for parenthesis invoke
  • KT-68462 Analysis API: Integrate project-structure module into analysis-api and analysis-api-platform-interface
  • KT-69131 AA: "provideDelegate" operator is not resolved from the delegation reference in FIR implementation
  • KT-69055 Analysis API: Stabilize KaScopes
  • KT-66216 K2 IDE. "FirDeclaration was not found for class org.jetbrains.kotlin.psi.KtProperty, fir is null" on incorrect string template
  • KT-68959 Introduce KaSeverity
  • KT-53669 Analysis API: redesign KtSymbolOrigin to distinguish kotlin/java source/library declarations
  • KT-68846 Mark KaFirReference and all implementations with internal modifier
  • KT-68845 Move KaSymbolBasedReference to resolution package
  • KT-68844 Move KaTypeProjection to types package
  • KT-65849 K2: Rename 'high-level-api' family of JARs to 'analysis-api'
  • KT-62540 Remove uses of TypeInfo.fromString and TypeInfo.createTypeText from Kotlin plugin
  • KT-62889 K2 IDE. FP MISSING_DEPENDENCY_CLASS on not available type alias with available underlying type
  • KT-68155 Analysis API: Add PSI validity check to analyze
  • KT-62343 Analysis API: fix binary incopatibility problems cause by KtAnalysisSessionProvider.analyze being inline
  • KT-68498 To get reference symbol the one should be KtSymbolBasedReference
  • KT-68393 Analysis API: Rename KaClassLikeSymbol. classIdIfNonLocal to classId
  • KT-62924 Analysis API: rename KtCallableSymbol.callableIdIfNonLocal -> callableId
  • KT-66712 K2 IDE. SOE on settings string template for string variable with the same name
  • KT-65892 K2: "We should be able to find a symbol" for findNonLocalFunction
  • KT-68273 AA: support KtFirKDocReference#isReferenceToImportAlias
  • KT-68272 AA: KtFirReference.isReferenceToImportAlias doesn't work for references on constructor
  • KT-66996 Analysis API: Expose the abbreviated type of an expanded KtType
  • KT-66646 K2: Expected FirResolvedTypeRef with ConeKotlinType but was FirUserTypeRefImpl from FirJsHelpersKt.isExportedObject
  • KT-68203 K2: Analysis API: wrong type of receiver value in case of imported object member
  • KT-68031 LL resolve crash in case of PCLA inference with local object
  • KT-67851 K2: PsiReference#isReferenceTo always returns false for references to Java getters
  • KT-68076 AA: use type code fragments for import alias detection
  • KT-65915 K2: Analysis API: extract services registration into xml file
  • KT-68049 Analysis API: do not expose imported symbols
  • KT-68075 K2: Analysis API: Type arguments for delegation constructor to java constructor with type parameters not supported
  • KT-65190 AA: reference to the super type is not resolved
  • KT-68070 AA: KtExpressionInfoProvider#isUsedAsExpression doesn't work for KtPropertyDelegate
  • KT-67743 K2: Stubs & AbbreviatedTypeAttribute
  • KT-67706 K2: "KtDotQualifiedExpression is not a subtype of class KtNamedDeclaration" from UnusedChecker
  • KT-68021 Analysis API: do not break the diagnostic collection in a case of exception from some collector
  • KT-67973 AA FIR: wrong KtCall modeling for == from type bound
  • KT-67949 AA: Type arguments of Java methods' calls are not reported as used by KtFirImportOptimizer
  • KT-67988 AA: functional type at receiver position should be wrapped in parenthesis
  • KT-66536 Analysis API: ContextCollector doesn't provide implicit receivers from FirExpressionResolutionExtension
  • KT-67321 AA: Type arguments of Java methods' calls are not resolved
  • KT-64158 K2: "KotlinIllegalArgumentExceptionWithAttachments: No fir element was found for KtParameter"
  • KT-60344 K2 IDE. "KotlinExceptionWithAttachments: expect createKtCall to succeed for resolvable case with callable symbol" on attempt to assign value to param named getParam
  • KT-64599 K2: "expect createKtCall to succeed for resolvable case with callable" for unfinished if statement
  • KT-60330 K2 IDE. ".KotlinExceptionWithAttachments: expect createKtCall to succeed for resolvable case with callable symbol" on attempt to assign or compare true with something
  • KT-66672 K2 IDE. False positive INVISIBLE_REFERENCE on accessing private subclass as type argument in parent class declaration
  • KT-67750 Analysis API: Remove infix modifiers from type equality and subtyping functions
  • KT-67655 Analysis API: declare a rule how to deal with parameters in KtLifetimeOwner
  • KT-61775 Analysis API: KtKClassAnnotationValue lacks complete type information
  • KT-67168 K2: Analysis API: Rendering is broken for JSR-305 enhanced Java types
  • KT-66689 Analysis API: KtFirPackageScope shouldn't rely on KotlinDeclarationProvider for binary dependencies in standalone mode
  • KT-60483 Analysis API: add isTailrec property to KtFunctionSymbol
  • KT-67472 K2: Analysis API FIR: KtFunctionCall misses argument with desugared expressions
  • KT-65759 Analysis API: Avoid hard references to LLFirSession in session validity trackers
  • KT-60272 K2: Implement active invalidation of KtAnalysisSessions
  • KT-66765 K2: Analysis API: support classpath substitution with library dependencies in super type transformer
  • KT-67265 K2: status phase should resolve original declarations in the case of classpath subsitution
  • KT-67244 K2: StackOverflowError in the case of cyclic type hierarchy and library classpath substitution
  • KT-67080 K2: clearer contract for lazyResolveToPhaseWithCallableMembers
  • KT-66713 K2 FIR: Expose a way to get the module name used for name mangling
  • KT-61892 KtType#asPsiType could provide nullability annotations
  • KT-66122 Analysis API: Pass KtTestModule instead of TestModule to tests based on AbstractAnalysisApiBasedTest
Analysis. Light Classes
  • KT-65714 K2: IDE K2: "org.jetbrains.kotlin.analysis.api.fir.symbols.pointers.KtFirClassLikeSymbolPointer pointer already disposed"
  • KT-65835 SymbolLightClassForClassLike.getName returns null for a companion object instead of Companion
  • KT-68261 SLC: Constructors of sealed classes should be private
  • KT-68696 Drop DecompiledPsiDeclarationProvider-related stuff
  • KT-68404 SLC: wrong binary resolution to declaration with @JvmName
  • KT-68275 LC: no arg constructor is not visible in light classes
  • KT-66687 Symbol Light Classes: Duplicate field names for classes with companion objects
  • KT-66804 Symbol Light Classes: Fields from the parent interface's companion are added to DefaultImpls
Apple Ecosystem
  • KT-65542 Cinterop tasks fails if Xcode 15.3 is used
Backend. Native. Debug
  • KT-67567 Native: after updating to LLVM 16 lldb hangs when smooth stepping
Backend. Wasm
  • KT-70591 To much sources that don't exist inside SourceMap file
  • KT-69529 compileProductionExecutableKotlinWasmJs FAILED: No such value argument slot in IrConstructorCallImpl: 1 (total=1)
  • KT-68088 Wasm: "UNREACHABLE executed at Precompute.cpp:838" running gradle task wasmJsBrowserDistribution for compose multiplatform on Windows
  • KT-65798 K/Wasm: make an error on default export usage
  • KT-68828 Wasm test failure. expect-actual. private constructor in expect
  • KT-68453 K/Wasm: "Supported JS engine not detected" in Web Worker
  • KT-64565 Kotlin/wasm removeEventListener function did not remove the event listener
  • KT-65322 [Wasm] Clean-up bootstrap code
  • KT-66099 Wasm: local.get of type f64 has to be in the same reference type hierarchy as (ref 686) @​+237036
  • KT-63230 [WASM] println(null) prints 'ul'
Compiler
New Features
  • KT-58310 Consider non-functional type constraints for type variable which is an expected type for lambda argument
  • KT-68969 Consider implementing general "redundant interpolation prefix" warning
  • KT-57872 Improve "Public-API inline function cannot access non-public-API" check
  • KT-68165 Native: type checks on generic types boundary
  • KT-67611 Implement improved handling of $ in literals
  • KT-67787 Implement guard conditions for when-with-subject
  • KT-39868 Allow access to protected consts and fields from a super companion object
  • KT-66169 useContents lacks a contract
  • KT-67767 Introduce an ability to enforce explicit return types for public declarations without enabling Explicit API mode
  • KT-65841 Allow to actualize expect types in kotlin stdlib to builtins in JVM
  • KT-53834 Support for JSpecify @NullUnmarked
Performance Improvements
  • KT-69995 K2: Slow compilation when star projecting mutually recursive bounds from java
  • KT-69723 K2: code analysis taking too long
  • KT-69898 K2: Performance degradation in fir2ir caused by changes around intersection types
  • KT-68034 Devirtualization analysis fails to devirtualize string.get
Fixes
  • KT-67102 IR Evaluator: NoSuchFieldException when accessing a private delegated property
  • KT-35305 "Overload resolution ambiguity" on function for unsigned types (UByte, UShort, UInt, ULong)
  • KT-69211 K2: java.lang.IllegalArgumentException: Failed requirement
  • KT-68874 Types with different captured types as type arguments are rendered incorrectly
  • KT-66086 K/N: Unchecked illegal cast is not thrown
  • KT-70186 Kotlin 2.0.20-Beta2: Unexpected number of type arguments: 0
  • KT-68889 K2: type variable should not be fixed
  • KT-69835 K2 / Native: kotlin.native.binary.gc=cms throws library cached but its dependency isn't error
  • KT-70417 DELEGATED_MEMBER_HIDES_SUPERTYPE_OVERRIDE leads to NPE in BE
  • KT-69964 K2: Returning from an in-place lambda doesn't compile
  • KT-69773 K2: "Overload resolution ambiguity between candidate" with arrays
  • KT-60261 K2: No origin is set for composite assignment operators
  • KT-15388 Forbid delegated property to have external getter/setter
  • KT-70238 K2: false negative VOLATILE_ON_VALUE for constructor properties
  • KT-68669 K2: Generate inherited delegated members after actualization
  • KT-63828 K2: Missing signature metadata for accessors of properties inherited from delegate
  • KT-63871 K2: different value of isNotDefault flag for property inherited from delegate
  • KT-67119 Migration warning from context receivers to context parameters
  • KT-68997 K2: "No accessor found" for an inline value class when query the value of a delegated class by reflection
  • KT-64106 Native: the compiler allows using -opt and -g at the same time
  • KT-69766 K2: False negative: Internal setter of generic class is accessible from another module
  • KT-68364 JVM: ISE "Bad exception handler end" on a non-local break/continue inside try with finally
  • KT-69494 StackOverflowError in CfgTraverserKt.getPreviousCfgNodes
  • KT-56880 K2. Conflicting overloads for main() isn't shown when language version is set to 2.0
  • KT-69282 K2: equality of unsigned types with nullability works incorrectly
  • KT-68492 JVM IR backend: IDE / Kotlin Debugger: AE “Non-reified type parameter under ::class should be rejected by type checker” on evaluating private generic function
  • KT-70039 K2: inconsistent stability of vals of captured receivers
  • KT-44139 Don't report overload resolution ambiguities if arguments contain an error type
  • KT-68996 K2: "Not enough information to infer type argument" caused by typealias annotation with fixed generic argument
  • KT-55851 K2: reference to a field from package private class crashes in runtime
  • KT-65038 K2: Type alias from indirect dependency causes MISSING_DEPENDENCY_CLASS error
  • KT-61875 Native: remove support for bitcode embedding
  • KT-67693 Implement checkers for K1 compiler which will check the usage of K2 new features and report that they are not supported in K1 compiler
  • KT-68556 K2: false negative PROPERTY_WITH_NO_TYPE_NO_INITIALIZER on uninitialized property without type
  • KT-60445 K2/Java: investigate possible symbol clash while enhancing Java class type parameter bounds
  • KT-64193 K2: No smartcast with two boolean expressions in a row
  • KT-65546 K2. implement extended checker for unused anonymous parameter in lambda
  • KT-68358 @EnhancedNullability is missing on value parameter type after inheritance by delegation with strict JSpecify enabled
  • KT-67791 False negative "Synchronizing by Meters is forbidden" with inline value classes
  • KT-69495 k2: inconsistent output of unsigned number in string templates
  • KT-69619 K2. JAVA_TYPE_MISMATCH when Kotlin out generic type used in Java
  • KT-69563 trying to call .source on FirPackageFragmentDescriptor results in exception
  • KT-69611 Internal annotation FlexibleArrayElementVariance is written to output jar
  • KT-69463 K2: false negative SUPER_CALL_WITH_DEFAULT_PARAMETERS with expect/actual declarations
  • KT-68724 K2: "ABSTRACT_MEMBER_NOT_IMPLEMENTED" caused by open modifier on interface
  • KT-69182 K2: OptIn on enum companion blocks enum constants
  • KT-69191 K2: "Unresolved reference" caused by nested data objects
  • KT-69569 Wrong paths when one type has multiple annotated arguments
  • KT-55128 Wrong type path in type annotations when type arguments are compiled to wildcards
  • KT-67692 Native: support LLVM opaque pointers in the compiler
  • KT-69402 FirSupertypeResolverVisitor: ConcurrentModificationException
  • KT-69062 K1: false-negative "unsupported feature" error on multi-dollar interpolation
  • KT-68967 Consider demoting warnings about multi-dollar interpolation to IJ inspections
  • KT-68957 False-negative diagnostics about multi-dollar interpolation on string literals without interpolation
  • KT-69476 False negative NO_ELSE_IN_WHEN on when over intersection type with expect enum/sealed class
  • KT-67069 K2: Delegated member calls interface method instead of fake override
  • KT-63864 K2: Missing abbreviated type in metadata
  • KT-59833 K2: Stop modifying values of enum entries
  • KT-69421 K2: Resolve changed from delegated function to java default function
  • KT-69392 K2: "UNSAFE_CALL": when with some variable subjects does not smartcast the variable
  • KT-69053 K2: Unsupported intersection overrides for fields
  • KT-69227 K2: "Argument type mismatch" caused by generic typealias and upper bound
  • KT-31371 NOT_YET_SUPPORTED_IN_INLINE: incorrect error message for local inline function
  • KT-49473 PROTECTED_CALL_FROM_PUBLIC_INLINE_ERROR: specialize error message for 'inline' property
  • KT-49474 NON_PUBLIC_CALL_FROM_PUBLIC_INLINE: specialize error message for 'inline' property
  • KT-49503 SUPER_CALL_FROM_PUBLIC_INLINE_ERROR: specialize error message for 'inline' property
  • KT-11302 On inapplicable '@JvmStatic' annotation, highlight only the annotation, not the function signature
  • KT-59510 K2: do not render annotations in the deprecation diagnostic
  • KT-68532 "This code uses error suppression for 'INAPPLICABLE_JVM_NAME'. While it might compile and work, the compiler behavior is UNSPECIFIED and WON'T BE PRESERVED"
  • KT-68859 K2: unable to suppress only "JAVA_MODULE_DOES_NOT_EXPORT_PACKAGE"
  • KT-68469 [K2] MISSING_DEPENDENCY_CLASS caused by redundant @file:JvmName
  • KT-68999 K2: Unify the style of FIR generator with IR and SIR tree-generators
  • KT-66061 Kotlin/Native - building shared module for iOS - Argument list too long
  • KT-49420 Suspicious behaviour of frontend in case of DefinitelyNotNull type overload
  • KT-59752 K2: "Conflicting overloads" if function with same signature added to different contexts
  • KT-68618 K1: Unresolved reference for qualified this in implicit type
  • KT-25341 NOT_YET_SUPPORTED_IN_INLINE reported over anonymous object border
  • KT-69215 K2: IllegalArgumentException for delegated function in anonymous object with captured type parameters
  • KT-69044 Destructuring declaration shouldn't be possible in declaration in when
  • KT-69028 K2: FirJvmActualizingBuiltinSymbolProvider returns null on builtins declarations if common source-set is not presented
  • KT-15704 Rethink usage of term "type annotation" in error messages
  • KT-68970 K2. Argument type mismatch caused by out projection in inferred type from if - else
  • KT-68800 K2: Delete ConeAttributes.plus method
  • KT-59389 K2: Missing AMBIGUOUS_LABEL
  • KT-68803 K2: Smart cast fails with "Unresolved reference" when @Suppress("UNCHECKED_CAST") used in statement
  • KT-68968 K2: Missing ILLEGAL_SUSPEND_FUNCTION_CALL diagnostic in initialization code of a local class inside suspend function
  • KT-68336 K2 does not seem to pass the right constructor arguments to custom scripts
  • KT-68517 "IrSimpleFunctionSymbolImpl is unbound" for actual class containing non-actual functions
  • KT-59678 K2: Investigate ConeKotlinType.unCapture()
  • KT-69027 K2: Initialize FirStdlibBuiltinSyntheticFunctionInterfaceProvider in library session
  • KT-62818 K2: improve VAR_OVERRIDDEN_BY_VAL diagnostic message
  • KT-68214 Rename TypeApproximatorConfiguration properties for clarity
  • KT-68093 Implement deprecation of smartcasts on class-delegated properties
  • KT-67270 Native: report more performance metrics from the compiler
  • KT-68621 DATA_CLASS_INVISIBLE_COPY_USAGE false negative for inline fun
  • KT-68568 K2: False-positive ACCIDENTAL_OVERRIDE caused by missing dependency class
  • KT-66723 K2: NO_ACTUAL_CLASS_MEMBER_FOR_EXPECTED_CLASS for actual typealias that extends to Java class with complicated hierarchy that includes default method
  • KT-69000 Can't render constructor of intersection type
  • KT-68849 K2: "ClassCastException: cannot be cast to kotlin.jvm.functions.Function2" caused by passing lambda to SAM constructor results
  • KT-61744 Native: -Xsave-llvm-ir-after fails to check errors from LLVMPrintModuleToFile
  • KT-67103 Support AbbreviatedTypeAttribute for aliased types from the source code
  • KT-63921 K2: different representation of recursive type aliases
  • KT-68679 K2: "Override has incorrect nullability in its signature compared to the overridden declaration" caused by subclass of Android HashMap
  • KT-64335 K2: improve rendering of captured types in diagnostic messages
  • KT-68820 K2: "Unresolved reference" on calling function with "contract" name
  • KT-67933 K2: no conversion between fun interfaces if target has suspend
  • KT-68230 K2: FirMissingDependencyClassChecker: Not supported: ConeFlexibleType
  • KT-68531 K2: False-negative error on assignment to enum entry
  • KT-68446 K2: compile-time failure on smart-casted generic value used as a when-subject in a contains-check with range
  • KT-68678 K2: Drop using FirBuiltinSymbolProvider while compiling JVM stdlib
  • KT-68382 Get rid of context receivers in FirScript implementation
  • KT-68585 Implement new rules for CFA about enum entries
  • KT-68110 K2: "Java type mismatch" caused by spring.Nullable
  • KT-68613 K2: False positive CONFLICTING_PROJECTION after fixing KT-67764
  • KT-67764 K2: False negative: Projection problem is not reported in is expression
  • KT-67887 Expection on assigning to private field of value type
  • KT-67801 NSME on evaluating private member function with value class parameter
  • KT-67800 NSME on evaluating private top-level function with value class parameter
  • KT-68542 K2: Fix referecing to @ExtensionFunctionType if it's declared in source
  • KT-68188 K2: Properly support FunctionN creation for stdlib compilation
  • KT-67946 K2: Crash on red code: Instead use FirErrorTypeRef for ERROR CLASS: Cannot infer argument for type parameter T
  • KT-68526 K2: false-negative inconsistent data class copy visibility warning on call to generic data class copy function
  • KT-68528 K2: false-positive inconsistent data class copy visibility warning on call to function from another module with identical value parameter types and return type
  • KT-68525 K2: false-negative inconsistent data class copy visibility warning on callable reference to data class copy function
  • KT-68617 K2: Secondary constructors in a sealed class have private visibility instead of protected in the generated IR
  • KT-63920 K2: Private secondary sealed class constructor is private in metadata, but protected in K1
  • KT-57996 Usages of Foo @Nullable [] produce only warnings even with -Xtype-enhancement-improvements-strict-mode -Xjspecify-annotations=strict
  • KT-68207 K2: Investigate if losing ConeIntersectionType.upperBoundForApproximation during approximation leads to any issues
  • KT-64990 K2: Remove usages of SymbolTable from FIR2IR
  • KT-67798 NSME on assigning to private delegated property of value class
  • KT-68264 K2: confusing INVISIBLE_* error when typealias is involved
  • KT-68529 K2: false-negative redundant annotation warning on @ExposedCopyVisibility on data class with public constructor
  • KT-67943 Approximation should not generate types with UPPER_BOUND_VIOLATION errors
  • KT-67503 K2: False negative "Type Expected" when attempting to annotate a wildcard type argument
  • KT-68187 K2: Create IrBuiltins in fir2ir only after IR actualization
  • KT-66443 K2: ArrayIterationHandler doesn't work if UIntArray declared in sources
  • KT-68291 K2 / Contracts: Non-existent invocation kind is suggested as a fix
  • KT-68209 K2: Strange import suggestion when lambda body contains invalid code
  • KT-67368 "NullPointerException: Parameter specified as non-null is null" local lambda creates new not-null checks with 2.0.0-Beta5
  • KT-51433 FE 1.0: implement warnings about label resolve changes
  • KT-66554 K2. Drop FIR based fake-override generator from fir2ir
  • KT-64202 K2: Drop old methods for calculation of overridden symbols for lazy declarations
  • KT-67895 K2: Properly implement generation of fake-overrides for fields
  • KT-54496 K2: REDUNDANT_MODALITY_MODIFIER diagnostic disregards compiler plugins
  • KT-63745 K2: Approximation of DNN with nullability warning attribute leads to attribute incorrectly becoming not-null
  • KT-63362 AbstractTypeApproximator fixes only first local type in hierarchy
  • KT-67769 K2: "variable must be initialized" on unreachable access in constructor
  • KT-51195 FIR IC: Incremental compilation fails with @PublishedApi property
  • KT-67966 No JVM type annotation is generated on a class supertype
  • KT-46640 Generate JVM type annotations on wildcard bounds
  • KT-67952 Annotations on type parameters are not generated for parameters other than the first
  • KT-68012 K2. No 'operator' modifier is required on 'component' error in K2
  • KT-61835 K2: FirStubTypeTransformer receives unresolved expressions in builder inference session
  • KT-63596 K1/K2: Different behavior for lambda with different return type
  • KT-67688 K2: False positive CANNOT_INFER_PARAMETER_TYPE for Unit constraint type variable
  • KT-62080 False positive UNUSED_VARIABLE for variable that is used in lambda and in further code with several conditions
  • KT-60726 K2: Missed TYPE_MISMATCH error: inferred type non-suspend function but suspend function was expected
  • KT-41835 [FIR] Green code turns to red in presence of smartcasts and redundant type arguments
  • KT-67579 K1/JVM: false-negative annotation-based diagnostics on usages of ABI compiled with non-trivially configured generation of default methods
  • KT-67493 K2: argument type mismatch: actual type is 'T', but 'T' was expected
  • KT-64900 K2: getConstructorKeyword call in PsiRawFirBuilder.toFirConstructor forces AST load
  • KT-67648 K2: wrong exposed visibility errors with WRONG_MODIFIER_CONTAINING_DECLARATION on top-level enum class
  • KT-58686 FIR2IR: Don't use global counters
  • KT-67592 K2: Success execution of :kotlin-stdlib:compileKotlinMetadata
  • KT-60398 K2: consider forbidding FirBasedSymbol rebind
  • KT-54918 Refactor transformAnonymousFunctionWithExpectedType
  • KT-63360 K2: Malformed type mismatch error with functional type
  • KT-67266 K2: disappeared INLINE_CLASS_DEPRECATED
  • KT-67569 K2: Fix default value parameters of Enum's constructor if it's declared in source code
  • KT-67378 K2: Don't use wrapScopeWithJvmMapped for common source sets
  • KT-67738 K2: Introduce kotlin.internal.ActualizeByJvmBuiltinProvider annotation
  • KT-64456 K2: Port *VersionRequirementTest to K2
  • KT-67136 Put $this parameter to LVT for suspend lambdas
  • KT-62538 K2: Declarations inside external classes should be implicitly external
  • KT-67627 K2: External interface companion isn't external in IR
  • KT-60290 K2: origin is not set for !in operator
  • KT-67512 K2: false positive WRONG_GETTER_RETURN_TYPE when getter return type is annotated
  • KT-67635 K2: No warning TYPE_MISMATCH_WHEN_FLEXIBILITY_CHANGES for SAM constructor with inferred type
  • KT-60501 K2 Scripting: investigate metadata difference between K1 and K2
  • KT-67598 K2: Fix incorrect casting UByte to Number in FirToConstantValueTransformer
  • KT-56564 False positive "non-exhaustive when" in case of intersection type
  • KT-63969 K2: extra property in metadata
  • KT-63968 K2: extra property in metadata for anonymous variable in script
  • KT-67547 K/N can't build caches, fails with "clang++: error=2, No such file or directory"
  • KT-67469 K2: Failing module in FP-intellij
  • KT-64033 K2: Investigate ForbidInferringPostponedTypeVariableIntoDeclaredUpperBound
  • KT-64457 K2: Fix DecompiledKnmStubConsistencyK2TestGenerated
  • KT-66377 IR Evaluator: "no container found for type parameter" when evaluating nested generics
  • KT-66378 IR Evaluator: Symbol is unbound
  • KT-64506 IDE, IR Evaluator: NPE in ReflectiveAccessLowering.fieldLocationAndReceiver when evaluating private static properties
  • KT-67380 K2: Don't check for equals overriding for class Any
  • KT-67038 K2: Missing type of FirLiteralExpression causes an exception for property initializer type resolution
  • KT-59813 K2: Fix the TODO about firEffect.source in FirReturnsImpliesAnalyzer
  • KT-59834 K2: Fix the TODO about merge(other) in UnusedChecker
  • KT-59188 K2: Change positioning strategy for WRONG_NUMBER_OF_TYPE_ARGUMENTS error
  • KT-59108 K2. SMARTCAST_IMPOSSIBLE instead of UNSAFE_IMPLICIT_INVOKE_CALL
  • KT-65503 The inline processor cannot handle objects inside the lambda correctly when calling an inline function from another module
  • KT-30696 NoSuchMethodError if nested anonymous objects are used with propagation reified type parameter
  • KT-58966 Incorrect type inference for parameters with omitted type of anonymous function that is being analyzed as value of function type with receiver
  • KT-67458 Use @PhaseDescription for JVM backend lowering phases
  • KT-65647 K2 ignores diagnostics on sourceless FirTypeRefs
  • KT-64489 K2: Rename FirAugmentedArraySet
  • KT-67394 FIR: Make FIR repr of For from PSI and LightTree the same
  • KT-66724 K2 IDE. False positive errors because of wrong type inference in complex case of delegated property and type arguments
  • KT-40248 Confusing error message NO_RETURN_IN_FUNCTION_WITH_BLOCK_BODY
  • KT-66947 K2: false-positive JSpecify nullability enhancement warning on Java wildcard type argument with same base type but different nullabilities as upper and lower bounds
  • KT-66974 K2: false-negative JSpecify nullability enhancement warning on nullable projection of Java wildcard type argument with non-null bounds in out-position
  • KT-66946 K2: false-negative JSpecify nullability enhancement warning on Java wildcard type argument with nullable upper bound in out-position
  • KT-66442 K2: No visibility error on importing private aliases
  • KT-66598 K2: Allow comparisons, is-checks and casts between Kotlin and platform types
  • KT-55966 K2: Not enough information to infer type variable K if smartcast is used
  • KT-64894 OPT_IN_ARGUMENT_IS_NOT_MARKER diagnostic message is unclear
  • KT-67019 K2: IR has incorrect EQ origins for some inplace updating operators
  • KT-59810 K2: Support other ConstraintPosition-s
  • KT-55383 K1/K2: isClassTypeConstructor behaves differently for stub types
  • KT-60089 K2: Introduced ERROR_IN_CONTRACT_DESCRIPTION
  • KT-60382 K2: Refactor ExpectActualCollector
  • KT-62929 K2: investigate if guessArrayTypeIfNeeded is necessary in annotation loader
  • KT-65642 K2: IR: Array access desugaring doesn't have origins
  • KT-24807 No smartcast to Boolean in subject of when-expression when subject type is non-nullable
  • KT-66057 K2: incorrect supertype leads to class declaration being highlighted red
  • KT-63958 K2: drop support of UseBuilderInferenceOnlyIfNeeded=false
  • KT-63959 K2: treat stub types as non-nullable for isReceiverNullable check
  • KT-65100 IrFakeOverrideBuilder: support custom 'remove(Int)' handling logic in MutableCollection subclasses
Compose compiler
New features
  • cdfe659 Changed how compiler features being rolled out are enabled and disabled in compiler plugin CLI. Features, such as strong skipping and non-skipping group optimizations are now enabled through the "featureFlag" option instead of their own option.
  • 192e556 Strong skipping is now enabled by default
  • 842a9e8 Add support for default parameters in abstract and open @​Composable functions b/165812010
Fixes
  • e207b05 Fixes group generation for if statements when nonSkippingGroupOptimization is enabled b/346821372
  • f64fc3a Fixes endToMarker generation in early return from inline lambdas that caused start/end imbalance b/346808602
  • d6ac8a5 Stop memoizing lambdas with captured property delegates b/342557697
  • f38d5a3 Stop capturing parameter meta across crossinline boundary b/343801379
  • 770fe8d Propagate annotations from inferred function types when serializing b/345261077
  • 3c67cda Fix memoization of captureless lambdas when K2 compiler is used b/340582180
  • 3281e53 Allow memoizing lambdas in composable inline functions b/340606661
  • b/351858979 Fix stability inferencing of interfaces on incremental compilation
  • b/346821372 [Compose] Fix code generation for group optimization
  • b/357878245 Disallow open @​Composable functions with default params to fix binary compatibility issues.
IR. Actualizer
  • KT-68830 Compiler crash on missing actual class
  • KT-69024 K2: Children of expect annotation with @OptionalExpectation should be actualized
  • KT-68742 Allow expect protected to Java protected actualization
  • KT-66436 K2. Actualizing modCount property with a field in AbstractMutableList
  • KT-68741 Support actualization of AbstractMutableList.modCount
  • KT-68801 Crash on access of fake override of function actualized by fake override
  • KT-66307 K2: property fake override isn't generated for protected field
IR. Inlining
  • KT-67208 KJS: put ReplaceSuspendIntrinsicLowering after IR inliner
  • KT-68100 Run IR validation in the beginning and the end of the common prefix
  • KT-69171 Introduce a temporary -X CLI parameter that enables double-inlining
  • KT-69006 Enable IR visibility checks after IR inlining
  • KT-69183 IR inlining: properly handle defaults that depends on previous value parameters
  • KT-67660 Suspicious package part FQN calculation in InventNamesForLocalClasses
  • KT-68558 Move InlineCallableReferenceToLambdaPhase into ir.inline module
  • KT-56466 Support non-local break/continue in IR inliner
  • KT-64958 KJS: Put as many as possible lowerings after the inliner
  • KT-67297 Implement IR deserializer with unbound symbols
IR. Interpreter
  • KT-66938 Internal error in file lowering: java.lang.AssertionError: Error occurred while optimizing an expression: CALL 'public final fun less (arg0: kotlin.Int, arg1: kotlin.Int): kotlin.Boolean declared in kotlin.internal.ir'
IR. Tree
Performance Improvements
  • KT-67695 ForLoopsLowering fails to handle a loop over an imprecise typed iterable
Fixes
  • KT-68784 Support validating visibility of referenced declarations in IrValidator
  • KT-68174 Delete the IrMessageLogger interface
  • KT-67082 Introduce attributes on IrElement
  • KT-68716 DeepCopyIrTreeWithSymbols.visitConst should remap const type
  • KT-67650 Add default implementations to methods for non-leaf IrSymbol subclasses from SymbolRemapper
  • KT-67649 Autogenerate IrSymbol interface hierarchy
  • KT-44721 IR: merge IrPrivateSymbolBase and IrPublicSymbolBase hierarchies
  • KT-67580 Autogenerate SymbolRemapper
  • KT-67457 Introduce a way to simplify IR lowering phase creation
  • KT-67060 NoSuchMethodError for org.jetbrains.kotlin.ir.expressions.impl.IrCompositeImpl in the Flysto
JavaScript
New Features
  • KT-69133 Kotlin/JS: Add support for collection instantiation in JavaScript
  • KT-18891 JS: provide a way to declare static members (JsStatic?)
Fixes
  • KT-68943 @JsPlainObject breaks when interface has type parameters
  • KT-70592 "Error: HttpClientCall expected" on HTTP request when targeting es2015 with KTOR
  • KT-67273 Creating Kotlin Collections from JS collections
  • KT-65018 JS: Deprecate error tolerance
  • KT-67355 KJS / ES6: 'super' in lambda with enabled -Xir-generate-inline-anonymous-functions leads to JS errors
  • KT-69353 KJS / d.ts: Kotlin does not export base collection classes along with their mutable collection counterparts
  • KT-66898 KJS: Reserved keywords not escaped when -Xir-generate-inline-anonymous-functions is enabled
  • KT-69710 JS IR generates bad code for inner param default referring to outer members
  • KT-68632 K2: allow JS_NAME_CLASH suppression
  • KT-69400 Use correct type for references on local functions when transforming them into lambda
  • KT-68554 Legalize marker interface as parent for JSO (interface marked with @JsPlainObject)
  • KT-68740 Kotlin/JS 2.0.0 IrLinkageError with dynamic function parameters inside data classes
  • KT-68944 @JsPlainObject require properties, when type - nullable alias
  • KT-68891 @JsPlainObject fails to compile when encountering reserved keywords as interface properties
  • KT-69023 KJS / IR: globalThis is mandatory, breaking older browsers support
  • KT-68641 KJS: 'export was not found' with per-file mode on case-insensitive filesystem
  • KT-68053 K2: NON_EXPORTABLE_TYPE on a typealias of primitive type
  • KT-62304 K/JS: Investigate the compiler assertion crash in JS FIR with backend tests
  • KT-68620 [wasm][js] Default param in inner class method fails if we are referring generic extension property
  • KT-64801 K2 + JS and WASM: Inner with default inner doesn't work properly
  • KT-67248 ModuleDescriptor in JS Linker contains incorrect friend dependecies
  • KT-64424 K2: Migrate JsProtoComparisonTestGenerated to K2
  • KT-52602 Kotlin/JS + IR: incompatible ABI version is not reported when no declarations are actually used by a Gradle compilation
  • KT-66092 K/JS & Wasm: .isReified for reified upper bound is wrongly false
  • KT-67112 Unable to apply @JsStatic for common sources: [NO_CONSTRUCTOR]
  • KT-62329 KJS: "UnsupportedOperationException: Empty collection can't be reduced" caused by external enum with "@JsExport"
  • KT-67018 K/JS: Executable js file for module-kind=umd contains top level this instead of globalThis
  • KT-64776 Test infra for JS can't process dependency

Configuration

📅 Schedule: Branch creation - "before 4am on the first day of the month" (UTC), Automerge - At any time (no schedule defined).

🚦 Automerge: Enabled.

Rebasing: Whenever PR is behind base branch, 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 has been generated by Renovate Bot.

Copy link
Contributor

coderabbitai bot commented Sep 1, 2024

Warning

Rate limit exceeded

@renovate-self-hosted-apter[bot] has exceeded the limit for the number of commits or files that can be reviewed per hour. Please wait 9 minutes and 35 seconds before requesting another review.

How to resolve this issue?

After the wait time has elapsed, a review can be triggered using the @coderabbitai review command as a PR comment. Alternatively, push new commits to this PR.

We recommend that you space out your commits to avoid hitting the rate limit.

How do rate limits work?

CodeRabbit enforces hourly rate limits for each developer per organization.

Our paid plans have higher rate limits than the trial, open-source and free plans. In all cases, we re-allow further reviews after a brief timeout.

Please see our FAQ for further information.

Commits

Files that changed from the base of the PR and between af633f4 and c511ee7.

Walkthrough

The change involves an update to the Kotlin dependency version in the gradle/libs.versions.toml file. The version has been upgraded from 2.0.0 to 2.0.20, reflecting a shift to a more recent release. Other dependencies in the file remain unchanged.

Changes

File Change Summary
gradle/libs.versions.toml Updated Kotlin version from 2.0.0 to 2.0.20

Poem

🐇
In the meadow, bright and spry,
A new version hops on by.
Kotlin's fresh, with leaps and bounds,
In code we dance, with joyful sounds!
So let us cheer, with hearts so light,
For updates bring us pure delight!
🌼


Tip

Early access features: enabled

We are currently testing the following features in early access:

- **Anthropic `claude-3-5-sonnet` model for code reviews and chat**: This new model is designed to enhance code understanding and generation capabilities. We're excited to hear your feedback as we evaluate its performance.

  Note:
- You can enable or disable early access features from the CodeRabbit UI or by updating the CodeRabbit configuration file.
- Please join our [Discord Community](https://discord.com/invite/GsXnASn26c) to provide feedback and report issues.
- OSS projects are currently opted into early access features by default.

Thank you for using CodeRabbit. We offer it for free to the OSS community and would appreciate your support in helping us grow. If you find it useful, would you consider giving us a shout-out on your favorite social media?

Share
Tips

Chat

There are 3 ways to chat with CodeRabbit:

  • Review comments: Directly reply to a review comment made by CodeRabbit. Example:
    • I pushed a fix in commit <commit_id>.
    • Generate unit testing code for this file.
    • Open a follow-up GitHub issue for this discussion.
  • Files and specific lines of code (under the "Files changed" tab): Tag @coderabbitai in a new review comment at the desired location with your query. Examples:
    • @coderabbitai generate unit testing code for this file.
    • @coderabbitai modularize this function.
  • PR comments: Tag @coderabbitai in a new PR comment to ask questions about the PR branch. For the best results, please provide a very specific query, as very limited context is provided in this mode. Examples:
    • @coderabbitai generate interesting stats about this repository and render them as a table.
    • @coderabbitai show all the console.log statements in this repository.
    • @coderabbitai read src/utils.ts and generate unit testing code.
    • @coderabbitai read the files in the src/scheduler package and generate a class diagram using mermaid and a README in the markdown format.
    • @coderabbitai help me debug CodeRabbit configuration file.

Note: Be mindful of the bot's finite context window. It's strongly recommended to break down tasks such as reading entire modules into smaller chunks. For a focused discussion, use review comments to chat about specific files and their changes, instead of using the PR comments.

CodeRabbit Commands (Invoked using PR comments)

  • @coderabbitai pause to pause the reviews on a PR.
  • @coderabbitai resume to resume the paused reviews.
  • @coderabbitai review to trigger an incremental review. This is useful when automatic reviews are disabled for the repository.
  • @coderabbitai full review to do a full review from scratch and review all the files again.
  • @coderabbitai summary to regenerate the summary of the PR.
  • @coderabbitai resolve resolve all the CodeRabbit review comments.
  • @coderabbitai configuration to show the current CodeRabbit configuration for the repository.
  • @coderabbitai help to get help.

Other keywords and placeholders

  • Add @coderabbitai ignore anywhere in the PR description to prevent this PR from being reviewed.
  • Add @coderabbitai summary to generate the high-level summary at a specific location in the PR description.
  • Add @coderabbitai anywhere in the PR title to generate the title automatically.

CodeRabbit Configuration File (.coderabbit.yaml)

  • You can programmatically configure CodeRabbit by adding a .coderabbit.yaml file to the root of your repository.
  • Please see the configuration documentation for more information.
  • If your editor has YAML language server enabled, you can add the path at the top of this file to enable auto-completion and validation: # yaml-language-server: $schema=https://coderabbit.ai/integrations/schema.v2.json

Documentation and Community

  • Visit our Documentation for detailed information on how to use CodeRabbit.
  • Join our Discord Community to get help, request features, and share feedback.
  • Follow us on X/Twitter for updates and announcements.

Copy link
Contributor

@coderabbitai coderabbitai bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Actionable comments posted: 0

Review details

Configuration used: CodeRabbit UI
Review profile: CHILL

Commits

Files that changed from the base of the PR and between 61393e4 and af633f4.

Files selected for processing (1)
  • gradle/libs.versions.toml (1 hunks)
Files skipped from review due to trivial changes (1)
  • gradle/libs.versions.toml

Copy link

github-actions bot commented Sep 1, 2024

Branch Coverage (windows-2022)

Total Project Coverage 69.91%

Copy link

github-actions bot commented Sep 1, 2024

Line Coverage (windows-2022)

Total Project Coverage 92.05%

Copy link

github-actions bot commented Sep 1, 2024

Branch Coverage (ubuntu-22.04)

Total Project Coverage 69.91%

Copy link

github-actions bot commented Sep 1, 2024

Line Coverage (ubuntu-22.04)

Total Project Coverage 92.05%

@renovate-self-hosted-apter renovate-self-hosted-apter bot merged commit 1428f9a into main Sep 1, 2024
9 checks passed
@renovate-self-hosted-apter renovate-self-hosted-apter bot deleted the renovate/kotlin branch September 1, 2024 00:54
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

0 participants