Commit Graph

14 Commits

Author SHA1 Message Date
Nik Clayton 56b0505955 change: Remove obsolete @Suppress annotations 2024-04-30 16:23:34 +02:00
Nik Clayton 2d0cf6c17e change: Mark some properties private 2024-04-30 16:23:34 +02:00
Nik Clayton c7783b65f9
refactor: Use AppCompatResources.getDrawable() (#671)
Replace `ContextCompat.getDrawable()`, as the app-compat version has
platform fixes and backports.

appcompat-lint warns about bare `context.getDrawable()`, but does not
cover `ContextCompat` (https://issuetracker.google.com/issues/337905331)
2024-04-30 13:30:19 +02:00
Nik Clayton 12eccb63ae
refactor: Prefer System.currentTimeMillis() to Date().getTime() (#645)
Avoids unnecessary object creation.

Add a lint rule to catch this.
2024-04-24 12:07:05 +02:00
Nik Clayton cc9efbfa7a
ci: Simplify and improve CI speed (#615)
Abstract common CI setup tasks (setting up Java, Gradle, etc) in to a
single action that can be used by all CI workflows.

Run the lint, test, and assemble CI tasks in parallel for each variant
rather than in series, which cuts ~ 7 minutes (approx. 50%) off the CI
runtime.

Update code in checks and core/navigation to fix new tests.
2024-04-15 15:24:07 +02:00
Nik Clayton 5f198b0d90
build: Simplify build infrastructure for command line tools (#613)
Provide a build convention plugin for command line tools, and use
`libs.versions.toml` for command line tool dependencies. Adjust the
individual tool `build.gradle.kts` files accordingly.

Remove unnecessary `gradle.properties` and `settings.gradle` files for
projects that are included as subprojects, not included builds.

Add a trivial test for each command line tool so there are tests to run
and provide some confidence that automated library upgrades don't break
command line tool compilation.
2024-04-15 15:06:55 +02:00
Nik Clayton 02fbd4cea5
change: Provide a vendor property in LintRegistry (#432)
Resolves a build-time warning:

```
app.pachli.lint.checks.LintRegistry ... does not specify a vendor;
see IssueRegistry#vendor
```
2024-02-09 17:53:33 +01:00
Nik Clayton d8be70a465
chore(deps): update plugin ktlint to v12 (#357) 2024-01-08 23:26:46 +01:00
Nik Clayton 1214cf7c8a
refactor: Break navigation dependency cycles with :core:navigation (#305)
The previous code generally started an activity by having the activity
provide a method in a companion object that returns the relevant intent,
possibly taking additional parameters that will be included in the
intent as extras.

E.g., if A wants to start B, B provides the method that returns the
intent that starts B.

This introduces a dependency between A and B.

This is worse if B also wants to start A.

For example, if A is `StatusListActivity` and B is`ViewThreadActivity`.
The user might click a status in `StatusListActivity` to view the
thread, starting `ViewThreadActivity`. But from the thread they might
click a hashtag to view the list of statuses with that hashtag. Now
`StatusListActivity` and `ViewThreadActivity` have a circular
dependency.

Even if that doesn't happen the dependency means that any changes to B
will trigger a rebuild of A, even if the changes to B are not relevant.

Break this dependency by adding a `:core:navigation` module with an
`app.pachli.core.navigation` package that contains `Intent` subclasses
that should be used instead. The `quadrant` plugin is used to generate
constants that can be used to launch activities by name instead of by
class, breaking the dependency chain.

The plugin uses the `Activity` names from the manifest, so when an
activity is moved in the future the constant will automatically update
to reflect the new package name.

If the activity's intent requires specific extras those are passed via
the constructor, with companion object methods to extract them from the
intent.

Using the intent classes from this package is enforced by a lint
`IntentDetector` which will warn if any intents are created using a
class literal.

See #291
2023-12-07 18:36:00 +01:00
Nik Clayton e749b362ca
refactor: Start creating core modules (#286)
The existing code base is a single monolithic module. This is relatively
simple to configure, but many of the tasks to compile the module and
produce the final app have to run in series.

This is unnecessarily slow.

This change starts to split the code in to multiple modules, which are:

- :core:account - AccountManager, to break a dependency cycle
- :core:common - low level types or utilities used in many other modules
- :core:database - database types, DAOs, and DI infrastructure
- :core:network - network types, API definitions, and DI infrastructure
- :core:preferences - shared preferences definitions and DI
infrastructure
- :core:testing - fakes and rules used across different modules

Benchmarking with gradle-profiler shows a ~ 17% reduction in incremental
build times after an ABI change. That will improve further as more code
is moved to modules.

The rough mechanics of the changes are:

- Create the modules, and move existing files in to them. This causes a
  lot of churn in import arguments.

- Convert build.gradle files to build.gradle.kts

- Separate out the data required to display a tab (`TabViewData`) from
  the data required to configure a tab (`TabData`) to avoid circular
  dependencies.

- Abstract the repeated build logic shared between the modules in to
  a set of plugins under `build-logic/`, to simplify configuration of
  the application and library builds.

- Be explicit that some nullable types are non-null at time of use.
  Nullable properties in types imported from modules generally can't be
  smart cast to non-null. There's a detailed discussion of why this
restriction exists at
https://discuss.kotlinlang.org/t/what-is-the-reason-behind-smart-cast-being-impossible-to-perform-when-referenced-class-is-in-another-module/2201.

The changes highlight design problems with the current code, including:

- The main application code is too tightly coupled to the network types
- Too many values are declared unnecessarily nullable
- Dependency cycles between code that make modularisation difficult

Future changes will add more modules.

See #291.
2023-12-04 16:58:36 +01:00
renovate[bot] 02b17f4144
fix(deps): update dependency com.android.tools.build:gradle to v8.2.0 (#257)
[![Mend Renovate logo
banner](https://app.renovatebot.com/images/banner.svg)](https://renovatebot.com)

This PR contains the following updates:

| Package | Change | Age | Adoption | Passing | Confidence |
|---|---|---|---|---|---|
|
[com.android.tools.build:gradle](https://developer.android.com/studio/build)
([source](https://android.googlesource.com/platform/tools/base)) |
`8.1.2` -> `8.2.0` |
[![age](https://developer.mend.io/api/mc/badges/age/maven/com.android.tools.build:gradle/8.2.0?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![adoption](https://developer.mend.io/api/mc/badges/adoption/maven/com.android.tools.build:gradle/8.2.0?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![passing](https://developer.mend.io/api/mc/badges/compatibility/maven/com.android.tools.build:gradle/8.1.2/8.2.0?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![confidence](https://developer.mend.io/api/mc/badges/confidence/maven/com.android.tools.build:gradle/8.1.2/8.2.0?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
| [com.android.tools.lint:lint-tests](http://tools.android.com/) |
`31.1.3` -> `31.2.0` |
[![age](https://developer.mend.io/api/mc/badges/age/maven/com.android.tools.lint:lint-tests/31.2.0?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![adoption](https://developer.mend.io/api/mc/badges/adoption/maven/com.android.tools.lint:lint-tests/31.2.0?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![passing](https://developer.mend.io/api/mc/badges/compatibility/maven/com.android.tools.lint:lint-tests/31.1.3/31.2.0?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![confidence](https://developer.mend.io/api/mc/badges/confidence/maven/com.android.tools.lint:lint-tests/31.1.3/31.2.0?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
| [com.android.tools.lint:lint](http://tools.android.com/) | `31.1.3` ->
`31.2.0` |
[![age](https://developer.mend.io/api/mc/badges/age/maven/com.android.tools.lint:lint/31.2.0?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![adoption](https://developer.mend.io/api/mc/badges/adoption/maven/com.android.tools.lint:lint/31.2.0?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![passing](https://developer.mend.io/api/mc/badges/compatibility/maven/com.android.tools.lint:lint/31.1.3/31.2.0?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![confidence](https://developer.mend.io/api/mc/badges/confidence/maven/com.android.tools.lint:lint/31.1.3/31.2.0?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
| [com.android.tools.lint:lint-checks](http://tools.android.com/) |
`31.1.3` -> `31.2.0` |
[![age](https://developer.mend.io/api/mc/badges/age/maven/com.android.tools.lint:lint-checks/31.2.0?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![adoption](https://developer.mend.io/api/mc/badges/adoption/maven/com.android.tools.lint:lint-checks/31.2.0?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![passing](https://developer.mend.io/api/mc/badges/compatibility/maven/com.android.tools.lint:lint-checks/31.1.3/31.2.0?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![confidence](https://developer.mend.io/api/mc/badges/confidence/maven/com.android.tools.lint:lint-checks/31.1.3/31.2.0?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
| [com.android.tools.lint:lint-api](http://tools.android.com/) |
`31.1.3` -> `31.2.0` |
[![age](https://developer.mend.io/api/mc/badges/age/maven/com.android.tools.lint:lint-api/31.2.0?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![adoption](https://developer.mend.io/api/mc/badges/adoption/maven/com.android.tools.lint:lint-api/31.2.0?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![passing](https://developer.mend.io/api/mc/badges/compatibility/maven/com.android.tools.lint:lint-api/31.1.3/31.2.0?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![confidence](https://developer.mend.io/api/mc/badges/confidence/maven/com.android.tools.lint:lint-api/31.1.3/31.2.0?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
---

### 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 this update
again.

---

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

---

This PR has been generated by [Mend
Renovate](https://www.mend.io/free-developer-tools/renovate/). View
repository job log
[here](https://developer.mend.io/github/pachli/pachli-android).

<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiIzNy41OS44IiwidXBkYXRlZEluVmVyIjoiMzcuNTkuOCIsInRhcmdldEJyYW5jaCI6Im1haW4ifQ==-->

---------

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: Nik Clayton <nik@ngo.org.uk>
2023-12-02 14:34:34 +01:00
renovate[bot] 3fe71015f8
fix(deps): update lintversion to v31.1.3 (#260)
[![Mend Renovate logo
banner](https://app.renovatebot.com/images/banner.svg)](https://renovatebot.com)

This PR contains the following updates:

| Package | Change | Age | Adoption | Passing | Confidence |
|---|---|---|---|---|---|
| [com.android.tools.lint:lint-tests](http://tools.android.com/) |
`31.1.2` -> `31.1.3` |
[![age](https://developer.mend.io/api/mc/badges/age/maven/com.android.tools.lint:lint-tests/31.1.3?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![adoption](https://developer.mend.io/api/mc/badges/adoption/maven/com.android.tools.lint:lint-tests/31.1.3?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![passing](https://developer.mend.io/api/mc/badges/compatibility/maven/com.android.tools.lint:lint-tests/31.1.2/31.1.3?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![confidence](https://developer.mend.io/api/mc/badges/confidence/maven/com.android.tools.lint:lint-tests/31.1.2/31.1.3?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
| [com.android.tools.lint:lint](http://tools.android.com/) | `31.1.2` ->
`31.1.3` |
[![age](https://developer.mend.io/api/mc/badges/age/maven/com.android.tools.lint:lint/31.1.3?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![adoption](https://developer.mend.io/api/mc/badges/adoption/maven/com.android.tools.lint:lint/31.1.3?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![passing](https://developer.mend.io/api/mc/badges/compatibility/maven/com.android.tools.lint:lint/31.1.2/31.1.3?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![confidence](https://developer.mend.io/api/mc/badges/confidence/maven/com.android.tools.lint:lint/31.1.2/31.1.3?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
| [com.android.tools.lint:lint-checks](http://tools.android.com/) |
`31.1.2` -> `31.1.3` |
[![age](https://developer.mend.io/api/mc/badges/age/maven/com.android.tools.lint:lint-checks/31.1.3?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![adoption](https://developer.mend.io/api/mc/badges/adoption/maven/com.android.tools.lint:lint-checks/31.1.3?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![passing](https://developer.mend.io/api/mc/badges/compatibility/maven/com.android.tools.lint:lint-checks/31.1.2/31.1.3?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![confidence](https://developer.mend.io/api/mc/badges/confidence/maven/com.android.tools.lint:lint-checks/31.1.2/31.1.3?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
| [com.android.tools.lint:lint-api](http://tools.android.com/) |
`31.1.2` -> `31.1.3` |
[![age](https://developer.mend.io/api/mc/badges/age/maven/com.android.tools.lint:lint-api/31.1.3?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![adoption](https://developer.mend.io/api/mc/badges/adoption/maven/com.android.tools.lint:lint-api/31.1.3?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![passing](https://developer.mend.io/api/mc/badges/compatibility/maven/com.android.tools.lint:lint-api/31.1.2/31.1.3?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![confidence](https://developer.mend.io/api/mc/badges/confidence/maven/com.android.tools.lint:lint-api/31.1.2/31.1.3?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|

---

### 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.

---

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

---

This PR has been generated by [Mend
Renovate](https://www.mend.io/free-developer-tools/renovate/). View
repository job log
[here](https://developer.mend.io/github/pachli/pachli-android).

<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiIzNy41OS44IiwidXBkYXRlZEluVmVyIjoiMzcuNTkuOCIsInRhcmdldEJyYW5jaCI6Im1haW4ifQ==-->

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-11-16 16:44:24 +01:00
renovate[bot] 5f13a50ff6
chore(deps): update kotlin to v1.9.20 (#213)
[![Mend
Renovate](https://app.renovatebot.com/images/banner.svg)](https://renovatebot.com)

This PR contains the following updates:

| Package | Change | Age | Adoption | Passing | Confidence |
|---|---|---|---|---|---|
| org.jetbrains.kotlin.plugin.parcelize | `1.9.10` -> `1.9.20` |
[![age](https://developer.mend.io/api/mc/badges/age/maven/org.jetbrains.kotlin.plugin.parcelize/1.9.20?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![adoption](https://developer.mend.io/api/mc/badges/adoption/maven/org.jetbrains.kotlin.plugin.parcelize/1.9.20?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![passing](https://developer.mend.io/api/mc/badges/compatibility/maven/org.jetbrains.kotlin.plugin.parcelize/1.9.10/1.9.20?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![confidence](https://developer.mend.io/api/mc/badges/confidence/maven/org.jetbrains.kotlin.plugin.parcelize/1.9.10/1.9.20?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
| org.jetbrains.kotlin.android | `1.9.10` -> `1.9.20` |
[![age](https://developer.mend.io/api/mc/badges/age/maven/org.jetbrains.kotlin.android/1.9.20?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![adoption](https://developer.mend.io/api/mc/badges/adoption/maven/org.jetbrains.kotlin.android/1.9.20?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![passing](https://developer.mend.io/api/mc/badges/compatibility/maven/org.jetbrains.kotlin.android/1.9.10/1.9.20?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![confidence](https://developer.mend.io/api/mc/badges/confidence/maven/org.jetbrains.kotlin.android/1.9.10/1.9.20?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
| org.jetbrains.kotlin.jvm | `1.9.10` -> `1.9.20` |
[![age](https://developer.mend.io/api/mc/badges/age/maven/org.jetbrains.kotlin.jvm/1.9.20?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![adoption](https://developer.mend.io/api/mc/badges/adoption/maven/org.jetbrains.kotlin.jvm/1.9.20?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![passing](https://developer.mend.io/api/mc/badges/compatibility/maven/org.jetbrains.kotlin.jvm/1.9.10/1.9.20?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![confidence](https://developer.mend.io/api/mc/badges/confidence/maven/org.jetbrains.kotlin.jvm/1.9.10/1.9.20?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
| [org.jetbrains.kotlin:kotlin-stdlib-jdk7](https://kotlinlang.org/)
([source](https://togithub.com/JetBrains/kotlin)) | `1.3.61` -> `1.9.20`
|
[![age](https://developer.mend.io/api/mc/badges/age/maven/org.jetbrains.kotlin:kotlin-stdlib-jdk7/1.9.20?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![adoption](https://developer.mend.io/api/mc/badges/adoption/maven/org.jetbrains.kotlin:kotlin-stdlib-jdk7/1.9.20?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![passing](https://developer.mend.io/api/mc/badges/compatibility/maven/org.jetbrains.kotlin:kotlin-stdlib-jdk7/1.3.61/1.9.20?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![confidence](https://developer.mend.io/api/mc/badges/confidence/maven/org.jetbrains.kotlin:kotlin-stdlib-jdk7/1.3.61/1.9.20?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|

---

### Release Notes

<details>
<summary>JetBrains/kotlin
(org.jetbrains.kotlin:kotlin-stdlib-jdk7)</summary>

###
[`v1.9.20`](https://togithub.com/JetBrains/kotlin/releases/tag/v1.9.20):
Kotlin 1.9.20

##### 1.9.20

##### Analysis. API

##### New Features

- [`KT-58834`](https://youtrack.jetbrains.com/issue/KT-58834) Analysis
API: Add source shadowing feature to resolve extensions

##### Performance Improvements

- [`KT-57515`](https://youtrack.jetbrains.com/issue/KT-57515) LL FIR:
Performance bottleneck in
`CompositeModificationTracker.getModificationCount`
- [`KT-59266`](https://youtrack.jetbrains.com/issue/KT-59266) K2:
optimize FirElementBuilder.getOrBuildFir for elements outside body
- [`KT-59454`](https://youtrack.jetbrains.com/issue/KT-59454) K2: drop
resolve from
org.jetbrains.kotlin.analysis.api.fir.components.KtFirVisibilityChecker#collectContainingDeclarations
- [`KT-59453`](https://youtrack.jetbrains.com/issue/KT-59453) K2:
completion regression from
org.jetbrains.kotlin.analysis.api.fir.components.KtFirVisibilityChecker#collectContainingDeclarations
- [`KT-59189`](https://youtrack.jetbrains.com/issue/KT-59189) Analysis
API: KtFirKDocReference.resolveToSymbols is slow
- [`KT-58125`](https://youtrack.jetbrains.com/issue/KT-58125) K2: LL
FIR: `KtToFirMapping.getElement` is slow for `KtUserType`s due to on-air
resolution of types

##### Fixes

- [`KT-59240`](https://youtrack.jetbrains.com/issue/KT-59240) K2:
FirLazyResolveContractViolationException: `lazyResolveToPhase(IMPORTS)`
cannot be called from a transformer with a phase IMPORTS from superTypes
- [`KT-58499`](https://youtrack.jetbrains.com/issue/KT-58499) K2:
FirLazyBlock should be calculated before accessing
- [`KT-57966`](https://youtrack.jetbrains.com/issue/KT-57966) K2:
Analysis API: Reference Shortener does not work correctly when called on
entire file
- [`KT-60954`](https://youtrack.jetbrains.com/issue/KT-60954) K2:
Analysis API: Reference shortener does not work correctly with variable
assignments
- [`KT-60940`](https://youtrack.jetbrains.com/issue/KT-60940) K2:
Analysis API: Reference shortener incorrectly handles types in vararg
parameters declarations
- [`KT-60488`](https://youtrack.jetbrains.com/issue/KT-60488) Analysis
API: forbid providing custom KtLifetimeToken for every analyze call
- [`KT-60728`](https://youtrack.jetbrains.com/issue/KT-60728) K2: proper
support for scripts in LL FIR transformers
- [`KT-59159`](https://youtrack.jetbrains.com/issue/KT-59159) K2 IDE:
declaration is not found exception
- [`KT-59297`](https://youtrack.jetbrains.com/issue/KT-59297) K2:
exception from body resolve leads to corrupted state and broken analysis
- [`KT-59077`](https://youtrack.jetbrains.com/issue/KT-59077)
KtFirExpressionTypeProvider behaviour for KtSimpleNameReferences in
function calls
- [`KT-60586`](https://youtrack.jetbrains.com/issue/KT-60586) K2: forbid
analyze from write action
- [`KT-57743`](https://youtrack.jetbrains.com/issue/KT-57743) K2 IDE:
StackOverflowError from LLFirSessionCache for simple JPS project with
cyclic dependencies
- [`KT-61026`](https://youtrack.jetbrains.com/issue/KT-61026) K2
Scripts: FirLazyExpression should be calculated before accessing from
on-air resolve
- [`KT-61009`](https://youtrack.jetbrains.com/issue/KT-61009) K2
Scripts: KtFirExpressionTypeProvider: Expected FirResolvedTypeRef with
ConeKotlinType but was FirImplicitTypeRefImplWithoutSource <implicit>
- [`KT-60357`](https://youtrack.jetbrains.com/issue/KT-60357) K2 IDE.
Reified types parameters are not resolved in a function body
- [`KT-60317`](https://youtrack.jetbrains.com/issue/KT-60317) K2 IDE.
IAE "This method will only work on compiled declarations, but this
declaration is not compiled" on invoking Find Usages for enum method in
library
- [`KT-60706`](https://youtrack.jetbrains.com/issue/KT-60706) K2 IDE:
FirJvmTypeMapper is not found for kotlin.kotlin-stdlib-common
- [`KT-60552`](https://youtrack.jetbrains.com/issue/KT-60552) K2: merge
StateKeeper and lazy body calculator for ANNOTATIONS_ARGUMENTS_MAPPING
transformer
- [`KT-60641`](https://youtrack.jetbrains.com/issue/KT-60641) Analysis
API: Scope for class
org.jetbrains.kotlin.fir.types.impl.ConeClassLikeTypeImpl not found
exception when stdlib is missing
- [`KT-60638`](https://youtrack.jetbrains.com/issue/KT-60638) K2:
Expected FirResolvedTypeRef with ConeKotlinType but was
FirImplicitTypeRefImplWithoutSource <implicit>
- [`KT-54846`](https://youtrack.jetbrains.com/issue/KT-54846) Analysis
API: add isExpect/isActual to KtSymbol
- [`KT-60448`](https://youtrack.jetbrains.com/issue/KT-60448)
FirLazyResolveContractViolationException:
`lazyResolveToPhase(COMPILER_REQUIRED_ANNOTATIONS)` cannot be called
from a transformer with a phase COMPILER_REQUIRED_ANNOTATIONS from
AllOpen plugin
- [`KT-59342`](https://youtrack.jetbrains.com/issue/KT-59342) K2 IDE.
FirLazyResolveContractViolationException: `lazyResolveToPhase(TYPES)`
cannot be called from a transformer with a phase TYPES
- [`KT-59687`](https://youtrack.jetbrains.com/issue/KT-59687) K2:
Implement proper body update for in-block modifications
- [`KT-59329`](https://youtrack.jetbrains.com/issue/KT-59329) Resolve
Extensions reference resolution breaks Find Usages
- [`KT-60295`](https://youtrack.jetbrains.com/issue/KT-60295) K2: move
checkIsResolved for annotations from
LLFirAnnotationArgumentsLazyResolver to LLFirTypeLazyResolver
- [`KT-59758`](https://youtrack.jetbrains.com/issue/KT-59758) K2:
Expected is FirResolvedTypeRef, but was
FirImplicitTypeRefImplWithoutSource from ReturnTypeCalculatorWithJump
- [`KT-60377`](https://youtrack.jetbrains.com/issue/KT-60377) K2 IDE:
This method will only work on compiled declarations, but this
declaration is not compiled
- [`KT-59685`](https://youtrack.jetbrains.com/issue/KT-59685) K2:
rewrite on-air resolution
- [`KT-60132`](https://youtrack.jetbrains.com/issue/KT-60132) K2:
properties and functions without a name should be re-analyzable as well
- [`KT-59199`](https://youtrack.jetbrains.com/issue/KT-59199) K2 IDE:
PSI changes which do not cause OOB modifications can be unseen from the
FIR elements
- [`KT-59667`](https://youtrack.jetbrains.com/issue/KT-59667) Analysis
API: PsiInvalidElementAccessException from
JavaClassifierTypeImpl.substitutor
- [`KT-59705`](https://youtrack.jetbrains.com/issue/KT-59705)
KotlinExceptionWithAttachments: No fir element was found for getter
- [`KT-59697`](https://youtrack.jetbrains.com/issue/KT-59697) AA
standalone: JRT module paths are not properly populated in Windows
- [`KT-59505`](https://youtrack.jetbrains.com/issue/KT-59505) K2:
implicit type lazy resolution doesn't work for delegated declaration
from other module
- [`KT-56426`](https://youtrack.jetbrains.com/issue/KT-56426) K2 IDE:
Typealised functional types cannot be rendered
- [`KT-59598`](https://youtrack.jetbrains.com/issue/KT-59598) AA:
stackoverflow while simplifying a type with a recursive type parameter
- [`KT-58497`](https://youtrack.jetbrains.com/issue/KT-58497) K2:
Expected FirResolvedTypeRef for initializer type of
FirPropertyImpl(Source) but FirImplicitTypeRefImplWithoutSource found
- [`KT-59511`](https://youtrack.jetbrains.com/issue/KT-59511) AA
standalone mode creates Application Environment for tests
- [`KT-58161`](https://youtrack.jetbrains.com/issue/KT-58161) Analysis
API: Make methods in `KtCallResolverMixIn` more distinctive based on
their receiver/return type
- [`KT-59093`](https://youtrack.jetbrains.com/issue/KT-59093) Do not
throw exception on KtCall resolution, `KtCallElement.resolveCall` should
return `null` on unknown cases
- [`KT-59243`](https://youtrack.jetbrains.com/issue/KT-59243) K2:
FirLazyResolveContractViolationException: `lazyResolveToPhase(IMPORTS)`
cannot be called from a transformer with a phase IMPORTS from permits
types
- [`KT-58194`](https://youtrack.jetbrains.com/issue/KT-58194) K2: Low
Level API: use smart pointers to store references to PSI from FIR
declarations for JavaElement
- [`KT-59133`](https://youtrack.jetbrains.com/issue/KT-59133) K2:
java.lang.IllegalStateException: Fir is not initialized for
FirRegularClassSymbol
- [`KT-58174`](https://youtrack.jetbrains.com/issue/KT-58174) K2: LL
FIR: Invalid type reference for T & Any type
- [`KT-52615`](https://youtrack.jetbrains.com/issue/KT-52615) LL FIR:
build RAW FIR only by stubs
- [`KT-55053`](https://youtrack.jetbrains.com/issue/KT-55053) K2:
Exception "lateinit property diagnostic has not been initialized" in
FirBuilder
- [`KT-58580`](https://youtrack.jetbrains.com/issue/KT-58580) K2: LL
FIR: Declarations provided by resolve extensions from a dependency
module are not visible through `LLFirCombinedKotlinSymbolProvider`
- [`KT-58992`](https://youtrack.jetbrains.com/issue/KT-58992) Analysis
API: move org.jetbrains.kotlin.analysis.api.fir.utils.addImportToFile
out of Analysis API
- [`KT-58727`](https://youtrack.jetbrains.com/issue/KT-58727) K2: AA
FIR: implicit type in delegated function treated as error
- [`KT-58653`](https://youtrack.jetbrains.com/issue/KT-58653) K2:
Analysis API: add functions for KtScope members access by name
- [`KT-57559`](https://youtrack.jetbrains.com/issue/KT-57559) K2 IDE:
KotlinExceptionWithAttachments: Modules are inconsistent on intellij
project
- [`KT-58262`](https://youtrack.jetbrains.com/issue/KT-58262) Analysis
API: Declarations from Analysis API Resolve Extensions are not seen from
completion
- [`KT-57455`](https://youtrack.jetbrains.com/issue/KT-57455) LL FIR:
Combine `AbstractFirDeserializedSymbolProvider`s in session dependencies
(optimization)
- [`KT-57207`](https://youtrack.jetbrains.com/issue/KT-57207) LL FIR:
Combine `JavaSymbolProvider`s in session dependencies (optimization)
- [`KT-58546`](https://youtrack.jetbrains.com/issue/KT-58546) K2: LL
FIR: support name collision in a designation path
- [`KT-58495`](https://youtrack.jetbrains.com/issue/KT-58495) K2: Lazy
calculation is redundant
- [`KT-58500`](https://youtrack.jetbrains.com/issue/KT-58500) K2: null
cannot be cast to non-null type
org.jetbrains.kotlin.fir.FirPureAbstractElement
- [`KT-58493`](https://youtrack.jetbrains.com/issue/KT-58493) K2:
Expected FirResolvedTypeRef for default value type of
FirValueParameterImpl(Source) but FirUserTypeRefImpl found
- [`KT-58496`](https://youtrack.jetbrains.com/issue/KT-58496) K2:
Expected FirNamedReference, FirErrorNamedReference or
FirFromMissingDependenciesNamedReference, but FirExplicitSuperReference
found
- [`KT-58491`](https://youtrack.jetbrains.com/issue/KT-58491) K2:
Expected FirResolvedTypeRef or FirImplicitTypeRef for return type of
FirDefaultPropertyBackingField(Synthetic) but FirUserTypeRefImpl found
- [`KT-56550`](https://youtrack.jetbrains.com/issue/KT-56550) LL FIR:
implement parallel resolve for non-jumping phases
- [`KT-58503`](https://youtrack.jetbrains.com/issue/KT-58503) Analysis
API: KtFirNamedClassOrObjectSymbol.visibility/modality do not trigger
STATUS resolve
- [`KT-57623`](https://youtrack.jetbrains.com/issue/KT-57623) K2 IDE:
ConcurrentModificationException from getSuperConeTypes
- [`KT-58083`](https://youtrack.jetbrains.com/issue/KT-58083) K2: LL
FIR: implement FakeOverrideTypeCalculator

##### Android

- [`KT-27170`](https://youtrack.jetbrains.com/issue/KT-27170) Android
lint tasks fails in Gradle with MPP dependency

##### Backend. Native. Debug

- [`KT-61131`](https://youtrack.jetbrains.com/issue/KT-61131) Virtual
functions trampolines have invalid debug info

##### Backend. Wasm

##### Fixes

- [`KT-60244`](https://youtrack.jetbrains.com/issue/KT-60244) K/Wasm:
make the compiler compatible with Wasm GC phase 4 (Final) specification
- [`KT-61262`](https://youtrack.jetbrains.com/issue/KT-61262) K/Wasm:
add a way to turn on k2 in wasm examples that don't use compose
- [`KT-61343`](https://youtrack.jetbrains.com/issue/KT-61343) K/Wasm:
add a wasi example to kotlin-wasm-examples
- [`KT-62147`](https://youtrack.jetbrains.com/issue/KT-62147)
\[Kotlin/Wasm] Nothing typed when expression cause a backend error
- [`KT-59720`](https://youtrack.jetbrains.com/issue/KT-59720) K/Wasm:
update to final opcodes
- [`KT-60834`](https://youtrack.jetbrains.com/issue/KT-60834) K/Wasm:
investigate consequences of stopping using `br_on_cast_fail`
- [`KT-59294`](https://youtrack.jetbrains.com/issue/KT-59294) WASM:
localStorage Cannot read properties of undefined (reading 'length')
- [`KT-60835`](https://youtrack.jetbrains.com/issue/KT-60835) K/Wasm:
fix compatibility with Node.js 20.\*
- [`KT-60113`](https://youtrack.jetbrains.com/issue/KT-60113) K/Wasm:
illegal cast when using 1.9.20-dev
- [`KT-60496`](https://youtrack.jetbrains.com/issue/KT-60496)
Compose-web Wasm crashes on remember { null } calls
- [`KT-58746`](https://youtrack.jetbrains.com/issue/KT-58746) K/Wasm:
Make Arrays' constructors with size and lambda inline (similar to other
implementations)
- [`KT-58993`](https://youtrack.jetbrains.com/issue/KT-58993) \[K/Wasm]
Fix w3c declarations with lambda parameters
- [`KT-59722`](https://youtrack.jetbrains.com/issue/KT-59722) K/Wasm:
Support new encoding with flags for br_on_cast and br_on_cast_fail
instructions
- [`KT-59713`](https://youtrack.jetbrains.com/issue/KT-59713) K/Wasm:
Implement enumEntries intrinsic
- [`KT-59082`](https://youtrack.jetbrains.com/issue/KT-59082) WASM:
NullPointerException caused by companion with String type constants
- [`KT-58941`](https://youtrack.jetbrains.com/issue/KT-58941) WASM Hang
with extension delegate inside a Class
- [`KT-60200`](https://youtrack.jetbrains.com/issue/KT-60200) K/Wasm:
generate types without supertypes properly
- [`KT-52178`](https://youtrack.jetbrains.com/issue/KT-52178) IR dump
doesn't seem to work for Kotlin/WASM phases
- [`KT-59556`](https://youtrack.jetbrains.com/issue/KT-59556) Wasm:
critical dependency when using with webpack
- [`KT-58681`](https://youtrack.jetbrains.com/issue/KT-58681) K/Wasm:
division remainder has a wrong sign
- [`KT-56711`](https://youtrack.jetbrains.com/issue/KT-56711) Wasm:
IllegalStateException caused by dynamic type

##### Compiler

##### New Features

- [`KT-58551`](https://youtrack.jetbrains.com/issue/KT-58551) KMP: check
all annotation from expect declaration are present on actual
- [`KT-58554`](https://youtrack.jetbrains.com/issue/KT-58554) KMP:
restrict expect opt-in annotations and actual typealiases to annotations
with special meaning
- [`KT-58545`](https://youtrack.jetbrains.com/issue/KT-58545) KMP:
prohibit implicit actualization via Java
- [`KT-58536`](https://youtrack.jetbrains.com/issue/KT-58536) KMP:
prohibit `expect tailrec` / `expect external`
- [`KT-59764`](https://youtrack.jetbrains.com/issue/KT-59764) Make a
frontend checker that reports cast to forward declaration as unchecked
- [`KT-60528`](https://youtrack.jetbrains.com/issue/KT-60528) Updates
for JVM/IR backend of kotlin-atomicfu-compiler-plugin
- [`KT-59558`](https://youtrack.jetbrains.com/issue/KT-59558) Add
support for creating annotation instances with type parameters
- [`KT-52367`](https://youtrack.jetbrains.com/issue/KT-52367)
Devirtualization algorithm improvement
- [`KT-58652`](https://youtrack.jetbrains.com/issue/KT-58652) Native:
Implement frontend checkers for HiddenFromObjC on classes

##### Performance Improvements

- [`KT-59600`](https://youtrack.jetbrains.com/issue/KT-59600) K2: CFG:
do not add edges to nested classes and functions
- [`KT-57860`](https://youtrack.jetbrains.com/issue/KT-57860) K/N:
Functions with default arguments of value/inline class types have poor
performance due to value class boxing

##### Fixes

- [`KT-60387`](https://youtrack.jetbrains.com/issue/KT-60387) K2: IDE
K2: "org.jetbrains.kotlin.fir.expressions.impl.FirArgumentListImpl
cannot be cast to class
org.jetbrains.kotlin.fir.expressions.impl.FirResolvedArgumentList"
- [`KT-61228`](https://youtrack.jetbrains.com/issue/KT-61228) False
positive MUST_BE_INITIALIZED_OR_FINAL_OR_ABSTRACT_WARNING for
effectively final properties
- [`KT-61643`](https://youtrack.jetbrains.com/issue/KT-61643) "Argument
type mismatch" for mixed Java/Kotlin Project with Java 21
- [`KT-62389`](https://youtrack.jetbrains.com/issue/KT-62389) JDK 21:
Cannot access class 'TimeUnit'. Check your module classpath for missing
or conflicting dependencies
- [`KT-56768`](https://youtrack.jetbrains.com/issue/KT-56768) K2. No
error description on incomplete try catch declaration
- [`KT-52220`](https://youtrack.jetbrains.com/issue/KT-52220) FIR +
LightTree - Consider building a single tree on parsing into LightTree
- [`KT-60601`](https://youtrack.jetbrains.com/issue/KT-60601) K2 /
Maven: Overload resolution ambiguity between candidates inline method
- [`KT-62027`](https://youtrack.jetbrains.com/issue/KT-62027)
"java.lang.IndexOutOfBoundsException: Empty list doesn't contain element
at index 0" caused by ClassicExpectActualMatchingContext.kt when
annotation `@AllowDifferentMembersInActual` used
- [`KT-62747`](https://youtrack.jetbrains.com/issue/KT-62747) Wrong
warning message when overriding vararg with Array during actualization
- [`KT-62655`](https://youtrack.jetbrains.com/issue/KT-62655) Don't
report a warning when new members and new supertypes are added to open
expect actualization
- [`KT-62313`](https://youtrack.jetbrains.com/issue/KT-62313)
Kotlin/Native Compiler crash: ClassCastException in IntrinsicGenerator
- [`KT-60902`](https://youtrack.jetbrains.com/issue/KT-60902) visibility
vs upper bound expect actual matching conflict
- [`KT-61095`](https://youtrack.jetbrains.com/issue/KT-61095) K2: "IAE:
source must not be null" from
FirMultipleDefaultsInheritedFromSupertypesChecker
- [`KT-47567`](https://youtrack.jetbrains.com/issue/KT-47567) 'Val
cannot be reassigned' error not reported in unreachable code
- [`KT-59468`](https://youtrack.jetbrains.com/issue/KT-59468) K2: build
realm-kotlin
- [`KT-62026`](https://youtrack.jetbrains.com/issue/KT-62026) KMP:
Correctly handle a case when annotation on expect declaration is
unresolved
- [`KT-59476`](https://youtrack.jetbrains.com/issue/KT-59476) K2: build
ClashForAndroid
- [`KT-59487`](https://youtrack.jetbrains.com/issue/KT-59487) K2: build
KSP-playground
- [`KT-47409`](https://youtrack.jetbrains.com/issue/KT-47409) K1/K2:
Investigate and align inference for equality (==) operator
- [`KT-59393`](https://youtrack.jetbrains.com/issue/KT-59393) K2:
Missing TYPE_ARGUMENTS_FOR_OUTER_CLASS_WHEN_NESTED_REFERENCED
- [`KT-62127`](https://youtrack.jetbrains.com/issue/KT-62127)
"NoSuchFieldError: TRUE$delegate" on referencing companion's variable in
submodule
- [`KT-62335`](https://youtrack.jetbrains.com/issue/KT-62335) Improve
debuggability of code generator crashes
- [`KT-61165`](https://youtrack.jetbrains.com/issue/KT-61165) More than
one overridden descriptor declares a default value for 'cause:
Throwable?'. As the compiler can not make sure these values agree, this
is not allowed
- [`KT-62263`](https://youtrack.jetbrains.com/issue/KT-62263) Turn
"different expect/actual members" error into a warning
- [`KT-59969`](https://youtrack.jetbrains.com/issue/KT-59969) K2:
Disappeared UNSUPPORTED_CONTEXTUAL_DECLARATION_CALL
- [`KT-61616`](https://youtrack.jetbrains.com/issue/KT-61616) K2:
`IrBuiltIns.extensionToString` fails during native compilation
- [`KT-59377`](https://youtrack.jetbrains.com/issue/KT-59377) K2:
Missing CALL_TO_JS_MODULE_WITHOUT_MODULE_SYSTEM
- [`KT-61645`](https://youtrack.jetbrains.com/issue/KT-61645) K2/KMP:
Set stdlib-native before stdlib-commonMain in dependencies for shared
native metadata compilation
- [`KT-61924`](https://youtrack.jetbrains.com/issue/KT-61924) Native:
problem with abstract fake override from Any
- [`KT-61933`](https://youtrack.jetbrains.com/issue/KT-61933) K2:
"`Argument type mismatch: actual type is
'Foo<kotlin/Function0<kotlin/Unit>>' but
'Foo<kotlin/coroutines/SuspendFunction0<kotlin/Unit>>' was expected`"
- [`KT-59471`](https://youtrack.jetbrains.com/issue/KT-59471) K2: build
multiplatform-settings
- [`KT-56077`](https://youtrack.jetbrains.com/issue/KT-56077) K2: build
kotlinx.atomicfu
- [`KT-59465`](https://youtrack.jetbrains.com/issue/KT-59465) K2: build
kotlinx-datetime
- [`KT-60824`](https://youtrack.jetbrains.com/issue/KT-60824) K2 IDE:
FirSyntheticCallGenerator: IAE: List has more than one element
- [`KT-61856`](https://youtrack.jetbrains.com/issue/KT-61856) K2:
"KotlinIllegalArgumentExceptionWithAttachments" on usage of
javax.validation.constraints.Email.List
- [`KT-54792`](https://youtrack.jetbrains.com/issue/KT-54792) Store
program order of properties inside `@kotlin`.Metadata
- [`KT-56083`](https://youtrack.jetbrains.com/issue/KT-56083) K2: build
ktor
- [`KT-23861`](https://youtrack.jetbrains.com/issue/KT-23861) Expect
annotation should not be applicable wider than the actual one
- [`KT-59466`](https://youtrack.jetbrains.com/issue/KT-59466) K2: build
kotlinx-benchmark
- [`KT-60830`](https://youtrack.jetbrains.com/issue/KT-60830) KMP, K2:
expect actual annotation IR checker doesn't unwrap actual typealiases to
annotations
- [`KT-61668`](https://youtrack.jetbrains.com/issue/KT-61668) Put
expect/actual diagnostics introduced in 1.9.20 release under 1.9
Language Version
- [`KT-61725`](https://youtrack.jetbrains.com/issue/KT-61725) KMP:
Annotation matching requirement for expect/actual leads to errors for
annotations with `@OptionalExpectation`
- [`KT-47892`](https://youtrack.jetbrains.com/issue/KT-47892) False
negative BREAK_OR_CONTINUE_OUTSIDE_A_LOOP with `continue` in `init`
block inside `for`
- [`KT-61784`](https://youtrack.jetbrains.com/issue/KT-61784) KMP:
\[DEFAULT_ARGUMENTS_IN_EXPECT_WITH_ACTUAL_TYPEALIAS] checker missed for
companion functions
- [`KT-61173`](https://youtrack.jetbrains.com/issue/KT-61173) K2:
FirProperty.hasBackingField is true for an expect val
- [`KT-59743`](https://youtrack.jetbrains.com/issue/KT-59743) K2:
erroneous binding of typealias with two type parameters to a class with
one type parameter
- [`KT-60650`](https://youtrack.jetbrains.com/issue/KT-60650) KMP:
prohibit problematic actual typealiases
- [`KT-61461`](https://youtrack.jetbrains.com/issue/KT-61461) K2: Kotlin
native metadata compilation breaks when stdlib is present in -libraries
- [`KT-61270`](https://youtrack.jetbrains.com/issue/KT-61270) Enabling
Kotlin/Native caching causes 65K warnings from dsymutil when building
Compose iOS app
- [`KT-58229`](https://youtrack.jetbrains.com/issue/KT-58229)
K2/MPP/JVM: compiler codegen crash on call of inherited generic class's
method with actual-typealias as value parameter
- [`KT-47702`](https://youtrack.jetbrains.com/issue/KT-47702) Support
call of Java annotation constructor without specifying a default value
- [`KT-56460`](https://youtrack.jetbrains.com/issue/KT-56460) K2: Do not
re-run DiagnosticCollectorVisitor from
FirInlineDeclarationChecker.checkChildrenWithCustomVisitor
- [`KT-55933`](https://youtrack.jetbrains.com/issue/KT-55933) K2: False
negative Overload resolution ambiguity for call functions with named
parameters if one of params is vararg
- [`KT-59548`](https://youtrack.jetbrains.com/issue/KT-59548) FIR2IR:
inconsistent generation of dispatch receiver for object methods
- [`KT-55072`](https://youtrack.jetbrains.com/issue/KT-55072) K2: False
positive "suspension point is inside a critical section"
- [`KT-58778`](https://youtrack.jetbrains.com/issue/KT-58778) JVM IR
inline: add fake variables for debugger
- [`KT-59404`](https://youtrack.jetbrains.com/issue/KT-59404) K2:
Missing EXPECT_TYPE_IN_WHEN_WITHOUT_ELSE
- [`KT-59830`](https://youtrack.jetbrains.com/issue/KT-59830) K2. False
negative \[FINAL_SUPERTYPE] on extending final class through type alias
- [`KT-60580`](https://youtrack.jetbrains.com/issue/KT-60580) K2: Not
supported: class org.jetbrains.kotlin.fir.types.ConeFlexibleType
- [`KT-59391`](https://youtrack.jetbrains.com/issue/KT-59391) K2:
Missing JS_BUILTIN_NAME_CLASH
- [`KT-59392`](https://youtrack.jetbrains.com/issue/KT-59392) K2:
Missing NAME_CONTAINS_ILLEGAL_CHARS
- [`KT-58360`](https://youtrack.jetbrains.com/issue/KT-58360) Intrinsics
for atomic update of array elements
- [`KT-59165`](https://youtrack.jetbrains.com/issue/KT-59165) K2:
Prohibit class literals with empty left-hand side
- [`KT-60427`](https://youtrack.jetbrains.com/issue/KT-60427) K2
`@Metadata` annotations contain outerType/outerTypeId information for
non-inner nested classes
- [`KT-59376`](https://youtrack.jetbrains.com/issue/KT-59376) K2:
Missing TYPECHECKER_HAS_RUN_INTO_RECURSIVE_PROBLEM_ERROR
- [`KT-55221`](https://youtrack.jetbrains.com/issue/KT-55221) K2: No
error reported for self-referencing local function with inferred return
type
- [`KT-59586`](https://youtrack.jetbrains.com/issue/KT-59586) K2:
support JVM backend diagnostics in light tree mode
- [`KT-57780`](https://youtrack.jetbrains.com/issue/KT-57780) K2:
Calling a constructor through a deprecated typealias doesn't report a
deprecation
- [`KT-59110`](https://youtrack.jetbrains.com/issue/KT-59110) K2.
"NotImplementedError: An operation is not implemented." error on
incorrect `@Target` annotation
- [`KT-59249`](https://youtrack.jetbrains.com/issue/KT-59249) K2: Empty
varargs are not serialized to KLIB
- [`KT-55373`](https://youtrack.jetbrains.com/issue/KT-55373) K2.
Unresolved reference error for type mismatch with callable references
- [`KT-55955`](https://youtrack.jetbrains.com/issue/KT-55955) K2:
callable references are not properly resolved when in conflict with
expected type
- [`KT-60144`](https://youtrack.jetbrains.com/issue/KT-60144) JVM IR
inline: backport primitive boxing in class literals
- [`KT-60779`](https://youtrack.jetbrains.com/issue/KT-60779) K2:
missing INTERFACE_CANT_CALL_DEFAULT_METHOD_VIA_SUPER
- [`KT-60587`](https://youtrack.jetbrains.com/issue/KT-60587) K2:
Implement warning NO_REFLECTION_IN_CLASS_PATH
- [`KT-61145`](https://youtrack.jetbrains.com/issue/KT-61145) False
negative NOTHING_TO_OVERRIDE when context receivers don't match
- [`KT-59378`](https://youtrack.jetbrains.com/issue/KT-59378) K2:
Missing FINITE_BOUNDS_VIOLATION and FINITE_BOUNDS_VIOLATION_IN_JAVA
- [`KT-61163`](https://youtrack.jetbrains.com/issue/KT-61163) Default
params on actual check and inheritance by delegation compilation error
- [`KT-60800`](https://youtrack.jetbrains.com/issue/KT-60800)
\[atomicfu-K/N]: turn on the tests for the K/N part of the compiler
plugin
- [`KT-61029`](https://youtrack.jetbrains.com/issue/KT-61029) K2:
Duplicates when processing direct overridden callables
- [`KT-55196`](https://youtrack.jetbrains.com/issue/KT-55196) K2:
False-negative CONST_VAL_WITH_NON_CONST_INITIALIZER on boolean .not()
call
- [`KT-60862`](https://youtrack.jetbrains.com/issue/KT-60862) Kotlin
Scripting: NoSuchMethodError for
ExternalDependenciesResolver.addRepository
- [`KT-57963`](https://youtrack.jetbrains.com/issue/KT-57963) K2: MPP:
Annotation calls should be actualized
- [`KT-60854`](https://youtrack.jetbrains.com/issue/KT-60854) K2:
IrActualizer incorrectly generates fake overrides for synthetic java
properties
- [`KT-59665`](https://youtrack.jetbrains.com/issue/KT-59665)
ACTUAL_FUNCTION_WITH_DEFAULT_ARGUMENTS isn't reported for actual
typealias and fake-override actualization
- [`KT-61039`](https://youtrack.jetbrains.com/issue/KT-61039) False
positive ABSTRACT_MEMBER_NOT_IMPLEMENTED in K1 when expect actual super
types scopes don't match
- [`KT-61166`](https://youtrack.jetbrains.com/issue/KT-61166) Inherited
platform declaration clash & accidental override
- [`KT-60531`](https://youtrack.jetbrains.com/issue/KT-60531) K2/JS:
Report diagnostics before running FIR2IR
- [`KT-32275`](https://youtrack.jetbrains.com/issue/KT-32275) Embedding
kotlin-compiler-embeddable into a Java EE App leads to CDI related
deployment error
- [`KT-57845`](https://youtrack.jetbrains.com/issue/KT-57845) K2.
Unresolved reference error on calling Java references with fully
qualified name
- [`KT-58757`](https://youtrack.jetbrains.com/issue/KT-58757) K2:
False-positive NON_PUBLIC_CALL_FROM_PUBLIC_INLINE error in case an
inline fun is protected and is a part of an internal abstract class
declaration
- [`KT-59736`](https://youtrack.jetbrains.com/issue/KT-59736)
kotlinx.serialization + K2 + JS: e: java.lang.IllegalStateException:
Symbol for
kotlinx.serialization.json.internal/FormatLanguage.<init>|-547215418288530576\[1]
is unbound
- [`KT-59071`](https://youtrack.jetbrains.com/issue/KT-59071) K2/MPP:
internal declarations from common module are invisible in dependent
source sets if there is more that one intermediate source set between
- [`KT-61167`](https://youtrack.jetbrains.com/issue/KT-61167) Runtime
failure: ReferenceError: MyPromise is not defined
- [`KT-59408`](https://youtrack.jetbrains.com/issue/KT-59408) K2:
Missing MULTIPLE_DEFAULTS_INHERITED_FROM_SUPERTYPES
- [`KT-61409`](https://youtrack.jetbrains.com/issue/KT-61409)
Kotlin/Native: crash in kmm-production-sample (compose-app) with escape
analysis enabled
- [`KT-57329`](https://youtrack.jetbrains.com/issue/KT-57329) K/N IR
linkage issues due to the combination of static caches w/ Lazy IR &
Compose compiler plugin
- [`KT-59247`](https://youtrack.jetbrains.com/issue/KT-59247)
Kapt+JVM_IR: AssertionError on anonymous object in enum super
constructor call
- [`KT-58576`](https://youtrack.jetbrains.com/issue/KT-58576) K2: IR
actualization problems in MPP scenario
- [`KT-61442`](https://youtrack.jetbrains.com/issue/KT-61442) K2:
Consider stricter filtering on implicit integer coercion
- [`KT-61441`](https://youtrack.jetbrains.com/issue/KT-61441) K2: Wrong
overload is chosen with ImplicitIntegerCoercion enabled
- [`KT-59328`](https://youtrack.jetbrains.com/issue/KT-59328) K2:
property with compound getter and without explicit type: compilation
failure, IAE "List has more than one element" at
FirDeclarationsResolveTransformer.transformFunctionWithGivenSignature()
- [`KT-61159`](https://youtrack.jetbrains.com/issue/KT-61159) K2:
OVERLOAD_RESOLUTION_AMBIGUITY between private top-level property in same
file and top-level property in different module
- [`KT-59233`](https://youtrack.jetbrains.com/issue/KT-59233) K2:
false-negative diagnostic on creating a callable reference to a function
with free type variables
- [`KT-61418`](https://youtrack.jetbrains.com/issue/KT-61418) k2:
ImplicitIntegerCoercion to List leads to "IllegalStateException: Cannot
find cached type parameter by FIR symbol"
- [`KT-61373`](https://youtrack.jetbrains.com/issue/KT-61373) False
positive: "The opt-in annotation is redundant: no matching experimental
API is used" with multiplatform code.
- [`KT-58884`](https://youtrack.jetbrains.com/issue/KT-58884) K2:
NotAMockException for mock testing with lambda expression with Maven
- [`KT-58893`](https://youtrack.jetbrains.com/issue/KT-58893) K2:
MockitoException for mock testing with lambda expression with Gradle
- [`KT-59483`](https://youtrack.jetbrains.com/issue/KT-59483) K2: Build
a Native app
- [`KT-57738`](https://youtrack.jetbrains.com/issue/KT-57738) K2:
unresolved class fields and methods in kotlin scripts
- [`KT-59449`](https://youtrack.jetbrains.com/issue/KT-59449) K2:
Diagnostic messages contain debugging-style rendered FIR
- [`KT-59849`](https://youtrack.jetbrains.com/issue/KT-59849) K2:
IllegalArgumentException: List has more than one element
- [`KT-57553`](https://youtrack.jetbrains.com/issue/KT-57553) Implement
deprecation for open val with backing field and deferred initialization
in K1
- [`KT-57230`](https://youtrack.jetbrains.com/issue/KT-57230) Support
Kotlin/Wasm in the K2 platform
- [`KT-59409`](https://youtrack.jetbrains.com/issue/KT-59409) K2:
Missing DEFAULT_VALUE_NOT_ALLOWED_IN_OVERRIDE
- [`KT-59058`](https://youtrack.jetbrains.com/issue/KT-59058) Companion
object is not initialized on class constructor call
- [`KT-61017`](https://youtrack.jetbrains.com/issue/KT-61017) K2:
intermediate expect/actual class results in expected class has no actual
declaration in module
- [`KT-60181`](https://youtrack.jetbrains.com/issue/KT-60181) K2:
"NotImplementedError: An operation is not implemented" with Spring
- [`KT-59472`](https://youtrack.jetbrains.com/issue/KT-59472) K2: build
Reaktive
- [`KT-54786`](https://youtrack.jetbrains.com/issue/KT-54786) MPP:
"LazyTypeAliasDescriptor cannot be cast to class
org.jetbrains.kotlin.descriptors.ClassDescriptor" caused by expected
non-constant function argument on iOS if class is type aliased
- [`KT-59753`](https://youtrack.jetbrains.com/issue/KT-59753) K2:
NotImplementedError when using annotation with vararg with default value
from other module
- [`KT-60883`](https://youtrack.jetbrains.com/issue/KT-60883) K2: Fix
`testRequireKotlinCompilerVersion` in LV 2.0 branch
- [`KT-59747`](https://youtrack.jetbrains.com/issue/KT-59747) K2: cannot
actualize expect class to Unit via typealias
- [`KT-61054`](https://youtrack.jetbrains.com/issue/KT-61054) K2: "IAE:
source must not be null" with -no-reflect on calling property getter
with implicit invoke
- [`KT-57126`](https://youtrack.jetbrains.com/issue/KT-57126) \[KLIB
Reproducibility] Manifest is written using os-dependent line separators
- [`KT-60850`](https://youtrack.jetbrains.com/issue/KT-60850) K2: FIR2IR
generates incorrect signature for fake overrides for common declaration
if it called from a platform module
- [`KT-59218`](https://youtrack.jetbrains.com/issue/KT-59218) K2: return
types of calls to `@PolymorphicSignature` methods inside try-expressions
don't resolve to void when required
- [`KT-60002`](https://youtrack.jetbrains.com/issue/KT-60002) K2:
Missing UNSUPPORTED_SUSPEND_TEST
- [`KT-61011`](https://youtrack.jetbrains.com/issue/KT-61011) K2
Scripts: FirRecursiveProblemChecker: Expected FirResolvedTypeRef with
ConeKotlinType but was FirImplicitTypeRefImplWithoutSource <implicit>
- [`KT-58906`](https://youtrack.jetbrains.com/issue/KT-58906) K2.
"Backend Internal error: Exception during IR lowering" instead of
CANNOT_INFER_PARAMETER_TYPE error when parameter type missing in lambda
- [`KT-59490`](https://youtrack.jetbrains.com/issue/KT-59490) K2: build
km-shop
- [`KT-60163`](https://youtrack.jetbrains.com/issue/KT-60163) K2: vararg
annotation argument value is serialized not as an array
- [`KT-59355`](https://youtrack.jetbrains.com/issue/KT-59355) K2: Allow
to actual classifier have wider visibility than the corresponding expect
class
- [`KT-56179`](https://youtrack.jetbrains.com/issue/KT-56179) \[K2/N]
`interop_objc_tests/multipleInheritanceClash.kt` test failed
- [`KT-59411`](https://youtrack.jetbrains.com/issue/KT-59411) K2:
Missing ENUM_CLASS_CONSTRUCTOR_CALL
- [`KT-59410`](https://youtrack.jetbrains.com/issue/KT-59410) K2:
Missing TYPEALIAS_EXPANDED_TO_MALFORMED_TYPE
- [`KT-59382`](https://youtrack.jetbrains.com/issue/KT-59382) K2:
Missing PROTECTED_CONSTRUCTOR_NOT_IN_SUPER_CALL
- [`KT-59901`](https://youtrack.jetbrains.com/issue/KT-59901) K2:
Disappeared API_NOT_AVAILABLE
- [`KT-60474`](https://youtrack.jetbrains.com/issue/KT-60474) K2: False
negative type mismatch for array literal with wrong numeric literal
- [`KT-59610`](https://youtrack.jetbrains.com/issue/KT-59610) K2: Calls
to annotations with default values are serialized differently in K1 and
K2
- [`KT-60139`](https://youtrack.jetbrains.com/issue/KT-60139) K2:
Refactor handling of implicitly actual declarations (annotation & inline
class constructors and property of inline class)
- [`KT-60793`](https://youtrack.jetbrains.com/issue/KT-60793) K2:
IllegalStateException: Expected FirResolvedTypeRef with ConeKotlinType
but was FirJavaTypeRef
- [`KT-60735`](https://youtrack.jetbrains.com/issue/KT-60735) K2:
lateinit property diagnostic has not been initialized
- [`KT-60137`](https://youtrack.jetbrains.com/issue/KT-60137) K2: Quite
complicated redeclaration error description is displayed for data
classes
- [`KT-60639`](https://youtrack.jetbrains.com/issue/KT-60639) K2:
IllegalStateException: Unsupported compile-time value GET_CLASS
type=kotlin.reflect.KClass\<p1.A>
- [`KT-56888`](https://youtrack.jetbrains.com/issue/KT-56888) CFA: Valid
green in K1 -> red in K2. `catch_end -> finally -> after_try`
- [`KT-60723`](https://youtrack.jetbrains.com/issue/KT-60723) K2: Nested
finally block has extra jump edge if surrounding try block jumps
- [`KT-60573`](https://youtrack.jetbrains.com/issue/KT-60573) K2: False
positive/negative CONFLICTING_OVERLOADS for main functions
- [`KT-60124`](https://youtrack.jetbrains.com/issue/KT-60124) K2:
Conflicting declarations on extension properties with different
upper-bounded type parameter
- [`KT-60259`](https://youtrack.jetbrains.com/issue/KT-60259) K2:
Reflection target is missing on adapted function refernces
- [`KT-59036`](https://youtrack.jetbrains.com/issue/KT-59036)
InstantiationError when instantiating annotation with a parameter type
as a default parameter of another annotation
- [`KT-59094`](https://youtrack.jetbrains.com/issue/KT-59094) K2: Fix
Scripting K2 tests
- [`KT-59711`](https://youtrack.jetbrains.com/issue/KT-59711) K/N:
Implement enumEntries intrinsic
- [`KT-59748`](https://youtrack.jetbrains.com/issue/KT-59748) K2: Return
type mismatch: expected Unit, actual Any? for when with an assignment in
branch
- [`KT-60154`](https://youtrack.jetbrains.com/issue/KT-60154) K2:
Expected some types error
- [`KT-58139`](https://youtrack.jetbrains.com/issue/KT-58139)
K2/MPP/metadata: compiler FIR serialization crash on complex expression
as annotation argument
- [`KT-59485`](https://youtrack.jetbrains.com/issue/KT-59485) K2: build
Anki-Android
- [`KT-59415`](https://youtrack.jetbrains.com/issue/KT-59415) K2:
Missing DATA_CLASS_OVERRIDE_DEFAULT_VALUES_ERROR
- [`KT-59710`](https://youtrack.jetbrains.com/issue/KT-59710) K/JVM:
Implement enumEntries intrinsic
- [`KT-57984`](https://youtrack.jetbrains.com/issue/KT-57984) K2/JS
fails with IdSignature clash for inherited expect/actual function
- [`KT-59398`](https://youtrack.jetbrains.com/issue/KT-59398) K2:
Missing NOT_SUPPORTED_INLINE_PARAMETER_IN_INLINE_PARAMETER_DEFAULT_VALUE
- [`KT-60645`](https://youtrack.jetbrains.com/issue/KT-60645) Native:
dynamic caches are broken on Linux
- [`KT-50221`](https://youtrack.jetbrains.com/issue/KT-50221) FIR:
handle enhanced/flexible nullability inside withNullability properly
- [`KT-59281`](https://youtrack.jetbrains.com/issue/KT-59281) JVM IR
inline: incorrect type of created array
- [`KT-59507`](https://youtrack.jetbrains.com/issue/KT-59507) JVM IR
inline: invocation of arrayOfNulls by function reference results in
exception
- [`KT-58359`](https://youtrack.jetbrains.com/issue/KT-58359) Allow
volatile intrinsics on inline function constant arguments
- [`KT-60598`](https://youtrack.jetbrains.com/issue/KT-60598) K2: add
OptIn checkers for command line arguments
- [`KT-59766`](https://youtrack.jetbrains.com/issue/KT-59766) K2: ISE:
Cannot find cached type parameter by FIR symbol during the coroutines
library build
- [`KT-59644`](https://youtrack.jetbrains.com/issue/KT-59644) K2: the
companion object in an `expect` class requires to be explicitly defined
for compileNativeMainKotlinMetadata
- [`KT-59640`](https://youtrack.jetbrains.com/issue/KT-59640) K2:
`expect` constructor requires calling `this` or `super` but didn't use
to
- [`KT-58883`](https://youtrack.jetbrains.com/issue/KT-58883) K2: False
negative type mismatch for generic annotation in collection literal
- [`KT-59581`](https://youtrack.jetbrains.com/issue/KT-59581) K2:
Initializer type mismatch: expected Array\<KClass<\*>>, actual
Array\<KClass<out Serializable>> in annotation parameter default value
using array literal
- [`KT-59069`](https://youtrack.jetbrains.com/issue/KT-59069) K2 does
not report EXPECTED_CLASS_CONSTRUCTOR_DELEGATION_CALL
- [`KT-59416`](https://youtrack.jetbrains.com/issue/KT-59416) K2:
Missing EXTERNAL_INTERFACE_AS_REIFIED_TYPE_ARGUMENT
- [`KT-59417`](https://youtrack.jetbrains.com/issue/KT-59417) K2:
Missing CALL_FROM_UMD_MUST_BE_JS_MODULE_AND_JS_NON_MODULE
- [`KT-59381`](https://youtrack.jetbrains.com/issue/KT-59381) K2:
Missing CALL_TO_JS_NON_MODULE_WITH_MODULE_SYSTEM
- [`KT-59384`](https://youtrack.jetbrains.com/issue/KT-59384) K2:
Missing DYNAMIC_NOT_ALLOWED
- [`KT-59406`](https://youtrack.jetbrains.com/issue/KT-59406) K2:
Missing PROPERTY_DELEGATION_BY_DYNAMIC
- [`KT-60247`](https://youtrack.jetbrains.com/issue/KT-60247) K2: order
of data class generated member differs in IR
- [`KT-57223`](https://youtrack.jetbrains.com/issue/KT-57223) K2:
false-negative INAPPLICABLE_JVM_NAME on non-final properties outside
interfaces
- [`KT-60183`](https://youtrack.jetbrains.com/issue/KT-60183) K2:
INAPPLICABLE_JVM_NAME on private methods with all-open plugin
- [`KT-60120`](https://youtrack.jetbrains.com/issue/KT-60120) K2 can't
get a default parameter value of expect annotation
- [`KT-57240`](https://youtrack.jetbrains.com/issue/KT-57240) K2 MPP:
Actualization doesn't work for flexible types
- [`KT-60436`](https://youtrack.jetbrains.com/issue/KT-60436) K2:
investigate possible FirJavaTypeRef equals parameter in
FirDataFlowAnalyzer.hasEqualsOverride
- [`KT-60299`](https://youtrack.jetbrains.com/issue/KT-60299) K2: when a
typealias to `Unit` is returned, an explicit `return` is now required
- [`KT-58005`](https://youtrack.jetbrains.com/issue/KT-58005) K2:
Unsupported compile-time value BLOCK for Repeatable annotations
- [`KT-60223`](https://youtrack.jetbrains.com/issue/KT-60223) K2: Wrong
import with import alias
- [`KT-54854`](https://youtrack.jetbrains.com/issue/KT-54854) K2.
Unresolved reference for not imported declaration when it is already
imported as an import alias is absent in K2
- [`KT-59738`](https://youtrack.jetbrains.com/issue/KT-59738) K2:
NoSuchElementException from JvmValueClassLoweringDispatcher in MPP
environment
- [`KT-59708`](https://youtrack.jetbrains.com/issue/KT-59708) K2:
"Property must be initialized or be abstract" occurs due to constructors
order
- [`KT-58483`](https://youtrack.jetbrains.com/issue/KT-58483) K2.
-Xmulti-platform flag isn't working
- [`KT-53490`](https://youtrack.jetbrains.com/issue/KT-53490) FIR:
Refactor augmented assignment resolving code - fix lhs-related problems
and combine similar code in array and assign operator handling
- [`KT-59673`](https://youtrack.jetbrains.com/issue/KT-59673) K2:
incorrect error message
- [`KT-58578`](https://youtrack.jetbrains.com/issue/KT-58578) K2:
Commonize expect-actual logic between FIR and IR actualizer
- [`KT-54989`](https://youtrack.jetbrains.com/issue/KT-54989) FIR2IR:
fragile code in postfix op detection
- [`KT-59464`](https://youtrack.jetbrains.com/issue/KT-59464) K2:
Investigate cases of implicit type refs in Fir2IrImplicitCastInserter
- [`KT-53898`](https://youtrack.jetbrains.com/issue/KT-53898) K2: False
negative VAL_REASSIGNMENT on member vals
- [`KT-57641`](https://youtrack.jetbrains.com/issue/KT-57641) K2:
"java.lang.NoSuchFieldException: INSTANCE" in kotlin-reflect for
`KClass.objectInstance` on an anonymous object
- [`KT-59299`](https://youtrack.jetbrains.com/issue/KT-59299) \[K2] ISE
in IrBindablePublicSymbolBase.bind on equals function from companion of
serializable class
- [`KT-58844`](https://youtrack.jetbrains.com/issue/KT-58844) Incorrect
type mismatch error: "actual type is kotlin/Int but kotlin/Int was
expected"
- [`KT-59413`](https://youtrack.jetbrains.com/issue/KT-59413) K2:
Missing VALUE_CLASS_CANNOT_HAVE_CONTEXT_RECEIVERS
- [`KT-56173`](https://youtrack.jetbrains.com/issue/KT-56173) FIR:
IrGenerationExtensions cannot see default values from expect
declarations
- [`KT-59611`](https://youtrack.jetbrains.com/issue/KT-59611) FIR2IR:
Unsupported callable reference for enum entry with clashing name
- [`KT-59858`](https://youtrack.jetbrains.com/issue/KT-59858) Kotlin
Native: Compilation failed: Sequence contains more than one matching
element,
org.jetbrains.kotlin.backend.konan.lower.FunctionReferenceLowering$FunctionReferenceBuilder.buildClass(FunctionReferenceLowering.kt:644)
- [`KT-58539`](https://youtrack.jetbrains.com/issue/KT-58539) \[K2] Ir
actualization fails to match expect/actual declarations that use custom
function types
- [`KT-59775`](https://youtrack.jetbrains.com/issue/KT-59775)
'toString()' on Object returns different result with concatenation
- [`KT-59737`](https://youtrack.jetbrains.com/issue/KT-59737) K2: Actual
class 'actual class FastArrayList<E> : AbstractMutableList<E>,
MutableListEx<E>, RandomAccess' has no corresponding members for
expected class members because of different parameter names in Java
- [`KT-59613`](https://youtrack.jetbrains.com/issue/KT-59613) K2:
Unhandled intrinsic in ExpressionCodegen exception in for expect
function with default value in parameter
- [`KT-59216`](https://youtrack.jetbrains.com/issue/KT-59216) K2.
Unhelpful unresolved reference when inheriting from interface with
constructor call (K1 reports NO_CONSTRUCTOR instead)
- [`KT-59057`](https://youtrack.jetbrains.com/issue/KT-59057) Revise
muted tests for native backend
- [`KT-57377`](https://youtrack.jetbrains.com/issue/KT-57377) K2/MPP:
internal declarations from common module are inivisible for intermediate
modules during metadata compilation
- [`KT-59693`](https://youtrack.jetbrains.com/issue/KT-59693) MPP:
linkReleaseExecutableLinux fails with IllegalStateException: Drains have
not been painted properly
- [`KT-59362`](https://youtrack.jetbrains.com/issue/KT-59362) K2/MPP:
`.toByte()` conversion for const val causes SourceCodeAnalysisException:
java.lang.NullPointerException: null
- [`KT-51670`](https://youtrack.jetbrains.com/issue/KT-51670) FIR:
questionable behavior for deprecated String constructors
- [`KT-35314`](https://youtrack.jetbrains.com/issue/KT-35314)
StackOverflowError with nested try-finally and function with contracts
- [`KT-53460`](https://youtrack.jetbrains.com/issue/KT-53460) False
positive smartcast warning in if block after if block
- [`KT-40851`](https://youtrack.jetbrains.com/issue/KT-40851) False
MUST_BE_INITIALIZED_OR_BE_ABSTRACT error for a property which is
initialised in the init block
- [`KT-59695`](https://youtrack.jetbrains.com/issue/KT-59695) K2: false
negative NON_PUBLIC_CALL_FROM_PUBLIC_INLINE
- [`KT-41198`](https://youtrack.jetbrains.com/issue/KT-41198) False
positive “Variable must be initialized” with assignment in scope
function and safe call
- [`KT-58901`](https://youtrack.jetbrains.com/issue/KT-58901) K2. Value
parameter default values are not checked for type mismatch
- [`KT-48115`](https://youtrack.jetbrains.com/issue/KT-48115) Member
functions with type parameter and contract don't produce smartcasts
- [`KT-59541`](https://youtrack.jetbrains.com/issue/KT-59541) K2: Type
checking has run into a recursive problem on code that was compiling
with Language 1.9
- [`KT-58943`](https://youtrack.jetbrains.com/issue/KT-58943) K2:
Incorrect with K1 priority of "invokeExtension + implicit receiver"
candidate
- [`KT-37375`](https://youtrack.jetbrains.com/issue/KT-37375) \[FIR]
Incorrect invoke resolution
- [`KT-59789`](https://youtrack.jetbrains.com/issue/KT-59789) K2:
self-reference does not compile anymore
- [`KT-59286`](https://youtrack.jetbrains.com/issue/KT-59286) JVM IR
inline: local property not found
- [`KT-58823`](https://youtrack.jetbrains.com/issue/KT-58823) K2:
Android app crashes right after start: java.lang.NoSuchMethodError: No
virtual method findViewById(I)Landroid/view/View
- [`KT-57754`](https://youtrack.jetbrains.com/issue/KT-57754) K2: No
public signature built for the synthesized delegate field
- [`KT-58533`](https://youtrack.jetbrains.com/issue/KT-58533) K2: "Not
enough information to infer type variable T" for generic call in throw
expression
- [`KT-34846`](https://youtrack.jetbrains.com/issue/KT-34846) FIR Java:
enhance type parameter bounds properly
- [`KT-52043`](https://youtrack.jetbrains.com/issue/KT-52043) FIR:
FirValueParameter with SubstitutionOverride does not reference the
original FIR declaration
- [`KT-59291`](https://youtrack.jetbrains.com/issue/KT-59291) JVM IR
inline: unexpected result of `apiVersionIsAtLeast` invocation
- [`KT-59550`](https://youtrack.jetbrains.com/issue/KT-59550) K2:
synthetic property isn't seen through Java
- [`KT-59038`](https://youtrack.jetbrains.com/issue/KT-59038) \[K2]
IllegalStateException in mixed Java/Kotlin inheritance
- [`KT-59489`](https://youtrack.jetbrains.com/issue/KT-59489) K2: builld
spring-petclinic-kotlin
- [`KT-58908`](https://youtrack.jetbrains.com/issue/KT-58908) K2.
Internal error "kotlin.UninitializedPropertyAccessException: lateinit
property firType has not been initialized" on incomplete `is`
- [`KT-56755`](https://youtrack.jetbrains.com/issue/KT-56755) K2:
Investigate failures related to line numbers with LT compilation enabled
- [`KT-56139`](https://youtrack.jetbrains.com/issue/KT-56139) K2:
consider adding source element for implicit receivers
- [`KT-57489`](https://youtrack.jetbrains.com/issue/KT-57489) K2:
Incorrectly generated line numbers in companion object access inside
class
- [`KT-58947`](https://youtrack.jetbrains.com/issue/KT-58947) Run all
existing codegen box tests with kapt stub generation
- [`KT-58827`](https://youtrack.jetbrains.com/issue/KT-58827) K2 reports
ACTUAL_WITHOUT_EXPECT on the whole class
- [`KT-54917`](https://youtrack.jetbrains.com/issue/KT-54917) K2: ILT
leak from a completed generic call
- [`KT-56187`](https://youtrack.jetbrains.com/issue/KT-56187) K2: type
parameter's upper bound is ignored in callable references
- [`KT-56186`](https://youtrack.jetbrains.com/issue/KT-56186) K2: lack
of type arguments in type constructor is ignored in callable references
- [`KT-59356`](https://youtrack.jetbrains.com/issue/KT-59356) K2:
Restrict rules for matching of expect supertypes for actual class
- [`KT-57217`](https://youtrack.jetbrains.com/issue/KT-57217) K2:
NoSuchMethodError on `toChar` call on java inheritor of java.lang.Number
- [`KT-58356`](https://youtrack.jetbrains.com/issue/KT-58356) K2:
StackOverflowError with OptIn and Deprecated, while compiling Kotlin
project
- [`KT-57954`](https://youtrack.jetbrains.com/issue/KT-57954) K2.
Auto-generated "entries" member of enum class has higher priority than
user-declared companion object with same name when language version is
set to 2.0
- [`KT-59508`](https://youtrack.jetbrains.com/issue/KT-59508) K2: Make
sure that warnings-severity nullability annotations are not perceived as
reasons for nullability errors
- [`KT-53820`](https://youtrack.jetbrains.com/issue/KT-53820) FIR:
mismatching error message for invisible reference/member
- [`KT-58641`](https://youtrack.jetbrains.com/issue/KT-58641) K2:
PublishedApi has no effect when internal fun used in the test source set
- [`KT-59461`](https://youtrack.jetbrains.com/issue/KT-59461) K2:
Erroneous null check when returning not-null typealias to nullable type
- [`KT-58980`](https://youtrack.jetbrains.com/issue/KT-58980) K2: Import
of java field from companion's base breaks the compiler
- [`KT-59140`](https://youtrack.jetbrains.com/issue/KT-59140) K2:
"Symbol public final static field is invisible" caused by java static
field called in kotlin code
- [`KT-59501`](https://youtrack.jetbrains.com/issue/KT-59501) Escape
analysis constructs arrays of negative size
- [`KT-59452`](https://youtrack.jetbrains.com/issue/KT-59452)
apiVersionIsAtLeast calls in body of stdlib inline function may be
evaluated on compile-time
- [`KT-53967`](https://youtrack.jetbrains.com/issue/KT-53967) \[PL]
Classifiers: Turning interface from fun to non-fun + adding member
function causes Kotlin/JS fail: IAE: "Sequence contains more than one
matching element"
- [`KT-59346`](https://youtrack.jetbrains.com/issue/KT-59346) Not
working breakpoints on not initialized variables
- [`KT-55993`](https://youtrack.jetbrains.com/issue/KT-55993) Wrong
current pointer: strange behaviour of debugger or compiler when two IFs
and an uninitialized variable between them
- [`KT-58335`](https://youtrack.jetbrains.com/issue/KT-58335) K2:
Exposed typealias from implementation dependency produces type mismatch
in dependent module
- [`KT-58719`](https://youtrack.jetbrains.com/issue/KT-58719) K2:
false-positive INVISIBLE_REFERENCE error in case of importing an
internal abstract class
- [`KT-57694`](https://youtrack.jetbrains.com/issue/KT-57694) K2: False
positive \[NOTHING_TO_OVERRIDE] for a class overriding 'sort' method
from the List collection
- [`KT-58460`](https://youtrack.jetbrains.com/issue/KT-58460) K2. return
without argument became allowed for functions with return type Any
- [`KT-49249`](https://youtrack.jetbrains.com/issue/KT-49249) Incorrect
nullability inferred for Throwable
- [`KT-57429`](https://youtrack.jetbrains.com/issue/KT-57429) K2: Fix
computing a mangled name for members of a generic class that reference
the class's type parameters in their signature
- [`KT-57566`](https://youtrack.jetbrains.com/issue/KT-57566) K2: Fix
name mangling for functions that have dynamic type in their signature
- [`KT-57818`](https://youtrack.jetbrains.com/issue/KT-57818) K2: Fix
FirMangleComputer to not include the "special" package name into mangled
names of property accessors on non-JVM platforms
- [`KT-57777`](https://youtrack.jetbrains.com/issue/KT-57777) K2: Fix
computing a mangled name for the synthesized `entries` property getter
of an enum class
- [`KT-57433`](https://youtrack.jetbrains.com/issue/KT-57433) K2: Fix
computing a mangled name for top-level functions and properties
- [`KT-58553`](https://youtrack.jetbrains.com/issue/KT-58553) k2:
Annotation type arguments are lost in FIR2IR
- [`KT-58184`](https://youtrack.jetbrains.com/issue/KT-58184) K2: False
negative INVISIBLE_MEMBER on destructuring declaration
- [`KT-58637`](https://youtrack.jetbrains.com/issue/KT-58637) K2: False
negative ABSTRACT_MEMBER_NOT_IMPLEMENTED on Entry of Enum with abstract
member declaration
- [`KT-54952`](https://youtrack.jetbrains.com/issue/KT-54952)
JvmSerializationBindings does not work with K2
- [`KT-54844`](https://youtrack.jetbrains.com/issue/KT-54844)
FIR/Analysis API: create stubs for equals/hashCode/toString for data
classes in FIR
- [`KT-58555`](https://youtrack.jetbrains.com/issue/KT-58555) K2:
Generic property reference inside delegation misses type argument
- [`KT-57648`](https://youtrack.jetbrains.com/issue/KT-57648) FIR: move
deprecation calculation on COMPILER_REQUIRED_ANNOTATIONS phase
- [`KT-57049`](https://youtrack.jetbrains.com/issue/KT-57049) K2
generates duplicates of symbols/declarations
- [`KT-55723`](https://youtrack.jetbrains.com/issue/KT-55723) K2:
deprecations for enum entries are not resolved on the TYPES phase
- [`KT-59033`](https://youtrack.jetbrains.com/issue/KT-59033) Doesn’t
support vararg parameter in annotation instantiation with empty
arguments
- [`KT-58780`](https://youtrack.jetbrains.com/issue/KT-58780) JVM IR
inline: local property delegation is not working for K2
- [`KT-58779`](https://youtrack.jetbrains.com/issue/KT-58779) JVM IR
inline: correctly process special inlined block in value class lowering
- [`KT-58720`](https://youtrack.jetbrains.com/issue/KT-58720) Generate
full InnerClass attributes for the standard library
- [`KT-58215`](https://youtrack.jetbrains.com/issue/KT-58215) K2: JVM IR
produces line numbers for delegation bridges that ar

</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 PR becomes conflicted, or you tick the
rebase/retry checkbox.

🔕 **Ignore**: Close this PR and you won't be reminded about these
updates again.

---

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

---

This PR has been generated by [Mend
Renovate](https://www.mend.io/free-developer-tools/renovate/). View
repository job log
[here](https://developer.mend.io/github/pachli/pachli-android).

<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiIzNy4zMS41IiwidXBkYXRlZEluVmVyIjoiMzcuMzEuNSIsInRhcmdldEJyYW5jaCI6Im1haW4ifQ==-->

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-11-06 11:16:52 +01:00
sanao 4b7eb2419e
refactor: Use com.google.android.material.appbar.MaterialToolbar
The previous code used `androidx.appcompat.widget.Toolbar` in a several
places.

It's better to use `MaterialToolbar` as that plays better with other
Material components.

Update the usage throughout the project.

In addition, implement a lint check that will prevent any future use
from creeping back in.

Fixes #28
2023-11-05 13:51:37 +01:00