tree ead1fb620e2964e4b081703128f8af4761198768
parent 77fcdd9b6e66e84f010615659a2fa1eef43866ad
parent 73e6ea7df58a0df23f4ee94b405cebc8060751fc
author Matthias Benkard <code@mulk.eu> 1675491975 +0000
committer Matthias Benkard <code@mulk.eu> 1675491975 +0000

Update dependency org.jetbrains.kotlin:kotlin-annotations-jvm to v1.8.10 (mulk/mulkcms2!14)

This MR contains the following updates:

| Package | Type | Update | Change |
|---|---|---|---|
| [org.jetbrains.kotlin:kotlin-annotations-jvm](https://kotlinlang.org/) ([source](https://github.com/JetBrains/kotlin)) | provided | patch | `1.8.0` -> `1.8.10` |

---

### Release Notes

<details>
<summary>JetBrains/kotlin</summary>

### [`v1.8.10`](https://github.com/JetBrains/kotlin/releases/tag/v1.8.10): Kotlin 1.8.10

[Compare Source](https://github.com/JetBrains/kotlin/compare/v1.8.0...v1.8.10)

#### Changelog

##### Compiler

-   [`KT-55483`](https://youtrack.jetbrains.com/issue/KT-55483) K2: Fir is not initialized for FirRegularClassSymbol java/lang/invoke/LambdaMetafactory
-   [`KT-55729`](https://youtrack.jetbrains.com/issue/KT-55729) "None of the following functions can be called with the arguments supplied:" in 1.8.0
-   [`KT-55769`](https://youtrack.jetbrains.com/issue/KT-55769) "ERROR: Could not find accessor": Android DataBinding fails with Kotlin 1.8.0
-   [`KT-55308`](https://youtrack.jetbrains.com/issue/KT-55308) InnerClass attributes should be sorted (innermost last)

##### JavaScript

-   [`KT-56282`](https://youtrack.jetbrains.com/issue/KT-56282) KJS: Invalidate incremental cache in case of compiler internal errors
-   [`KT-55852`](https://youtrack.jetbrains.com/issue/KT-55852) JS: "IllegalStateException: Unexpected ir type argument" caused by List with star projection type
-   [`KT-55716`](https://youtrack.jetbrains.com/issue/KT-55716) KJS / IC: "Cannot read properties of undefined" with overriding variables with 1.8.0
-   [`KT-55758`](https://youtrack.jetbrains.com/issue/KT-55758) KJS / IR: Checking implemented interface on a class implementing a [@&#8203;JsExport](https://github.com/JsExport) interface returns the wrong result

##### Reflection

-   [`KT-56093`](https://youtrack.jetbrains.com/issue/KT-56093) Metaspace leak in a Gradle plugin built with Kotlin 1.8.0

##### Tools. Compiler plugins. Serialization

-   [`KT-56347`](https://youtrack.jetbrains.com/issue/KT-56347) \[Kotlin 1.8] Regression kotlinx.serialization compiler plugin internal error
-   [`KT-55681`](https://youtrack.jetbrains.com/issue/KT-55681) Serialization: NullPointerException after update to 1.8.0 caused by `@Serializer(forClass= ..)`
-   [`KT-56244`](https://youtrack.jetbrains.com/issue/KT-56244) kotlinx.serialization compiler intrinsic does not work with encodeToString function in 1.8.0
-   [`KT-55683`](https://youtrack.jetbrains.com/issue/KT-55683) Serialization: "IllegalStateException: Expected to have a primary constructor" with expect class and companion object
-   [`KT-55682`](https://youtrack.jetbrains.com/issue/KT-55682) Serialization: "IllegalStateException: Function has no body: FUN name:serializer" with 1.8.0

##### Tools. Gradle

-   [`KT-55697`](https://youtrack.jetbrains.com/issue/KT-55697) KGP 1.8.0 adds compileOnly dependencies to unit test compile classpath

##### Tools. Gradle. Multiplatform

-   [`KT-55730`](https://youtrack.jetbrains.com/issue/KT-55730) MPP / Gradle: compileKotlinMetadata fails to resolve symbols in additional source sets

##### Tools. Gradle. Native

-   [`KT-56280`](https://youtrack.jetbrains.com/issue/KT-56280) Gradle: freeCompilerArgs are no longer propagated from compilations to Native binaries

##### Tools. Kapt

-   [`KT-48013`](https://youtrack.jetbrains.com/issue/KT-48013) Kapt generates illegal stubs for private interface methods

#### Checksums

| File | Sha256 |
| --- | --- |
| kotlin-compiler-1.8.10.zip | 4c3fa7bc1bb9ef3058a2319d8bcc3b7196079f88e92fdcd8d304a46f4b6b5787 |
| kotlin-native-linux-x86\_64-1.8.10.tar.gz | 4c5c8a82a63a3a9845be2514d536ca407340db7fc558b97c43ed003f866a9742 |
| kotlin-native-macos-x86\_64-1.8.10.tar.gz | 52ea7cf2dfaae058fc00fc4e00ec89fefe5a7e4c83abeadb7531cc9346ff18db |
| kotlin-native-macos-aarch64-1.8.10.tar.gz | 08cef514e9d582b0e7bcf3f592dd853270b535a4b765555db97381aeb8c92a85 |
| kotlin-native-windows-x86\_64-1.8.10.zip | e8b9a04f0df3cdec6fa360a6781723fc8551e93c70dfd1aaffbd282b7cddc19d |

</details>

---

### 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 MR is behind base branch, or you tick the rebase/retry checkbox.

🔕 **Ignore**: Close this MR and you won't be reminded about this update again.

---

 - [ ] <!-- rebase-check -->If you want to rebase/retry this MR, check this box

---

This MR has been generated by [Renovate Bot](https://github.com/renovatebot/renovate).
<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiIzNC4yNC4wIiwidXBkYXRlZEluVmVyIjoiMzQuMjQuMCJ9-->