Dmitriy Novozhilov
30e2af7b66
[FIR] Threat some error candidate applicabilities with same priority
...
There is a thing that `CandidateCollector` adds error candidate to the
list of resulting candidates only if its applicability at least the
same as current applicability of the collector
Also there is a problem, that deserialized symbol provider in CLI compiler
and stub-based symbol provider in AA may return the same declarations
in different order. This provokes the difference in the resulting set
of candidates between the two modes:
```
val x by unresolved
```
During the resolution of this code compiler tries to find function `getValue`,
and there are 6 of them in the stdlib. From them we are interseted in
specific three:
1. `fun <K, V> Map<K, V>.getValue(key: R|K|): R|V|`
2. `inline operator fun <V, V1 : V> Map<in String, @Exact V>.getValue(thisRef: Any?, property: KProperty<*>): V1`
3. `inline operator fun <V, V1 : V> MutableMap<in String, out @Exact V>.getValue(thisRef: Any?, property: KProperty<*>): V1`
- (1) is inapplicable with `INAPPLICABLE_ARGUMENTS_MAPPING_ERROR`
- (2) and (3) are inapplicable with `INAPPLICABLE_WRONG_RECEIVER`
- `INAPPLICABLE_ARGUMENTS_MAPPING_ERROR` is more specific applicability than `INAPPLICABLE_WRONG_RECEIVER`
- CLI compiler always sees those functions in order 1 -> 2 -> 3
- AA providers sometimes returns them in order 2 -> 3 -> 1
So in CLI compilation candidates (2) and (3) are not added to the resulting
set, as they are "less applicable" than (1), but in AA compilation they
can be added to the set before (1), which causes sporadic change in
FIR dump of `unsafeAssignmentExtra.kt`
To workaround this problem it was decided to treat `INAPPLICABLE_ARGUMENTS_MAPPING_ERROR`
and `INAPPLICABLE_WRONG_RECEIVER` applicabilities as "equally specific"
^KT-65218 Fixed
2024-03-15 08:21:42 +00:00
..
2024-03-13 08:38:15 +00:00
2024-01-17 14:18:06 +00:00
2024-03-06 09:01:38 +00:00
2024-03-05 17:38:59 +00:00
2024-03-08 15:37:45 +00:00
2023-10-19 09:27:45 +00:00
2023-10-10 18:23:19 +00:00
2024-02-08 12:59:31 +00:00
2023-10-05 10:18:09 +00:00
2023-12-06 10:54:21 +00:00
2023-07-13 17:37:48 +00:00
2023-11-02 20:47:05 +00:00
2024-03-12 15:58:34 +00:00
2024-03-08 15:37:44 +00:00
2023-10-09 06:55:43 +00:00
2023-05-05 12:35:46 +00:00
2024-03-13 08:38:15 +00:00
2023-11-14 15:19:33 +00:00
2024-03-08 15:37:44 +00:00
2024-01-10 14:56:30 +00:00
2024-03-08 10:07:23 +00:00
2024-02-27 09:34:02 +00:00
2023-09-01 09:30:28 +03:00
2024-02-21 20:24:13 +00:00
2024-01-29 07:56:43 +00:00
2023-11-21 13:12:46 +00:00
2024-03-08 15:37:44 +00:00
2023-12-06 10:54:21 +00:00
2024-02-20 20:09:08 +00:00
2024-03-11 13:38:05 +00:00
2023-10-30 07:22:34 +00:00
2024-03-05 17:38:59 +00:00
2023-11-08 15:45:48 +00:00
2023-09-01 09:30:28 +03:00
2024-03-14 18:34:30 +00:00
2023-12-21 10:19:23 +00:00
2024-03-08 15:37:44 +00:00
2024-03-07 12:49:47 +00:00
2024-03-13 08:38:14 +00:00
2024-03-14 12:23:36 +00:00
2024-03-08 15:37:44 +00:00
2024-03-12 10:26:23 +00:00
2024-03-14 12:38:47 +00:00
2024-03-07 12:49:47 +00:00
2023-06-22 12:29:11 +00:00
2024-03-14 22:39:03 +00:00
2024-02-15 16:10:13 +00:00
2024-02-08 12:59:31 +00:00
2024-03-07 12:49:47 +00:00
2023-10-26 11:08:27 +00:00
2024-03-04 12:00:18 +00:00
2024-01-09 10:47:13 +00:00
2024-03-14 10:53:43 +00:00
2023-10-19 09:27:45 +00:00
2024-03-08 15:37:44 +00:00
2024-03-11 13:38:05 +00:00
2023-04-30 16:12:54 +00:00
2023-08-31 13:07:00 +00:00
2023-11-08 15:45:48 +00:00
2024-03-08 10:07:23 +00:00
2024-03-14 12:38:48 +00:00
2024-03-14 22:39:03 +00:00
2024-03-14 22:39:03 +00:00
2023-12-21 13:29:00 +00:00
2024-01-11 10:32:12 +00:00
2024-02-14 09:57:12 +00:00
2024-02-14 09:55:24 +00:00
2024-03-14 12:38:44 +00:00
2024-03-05 17:38:59 +00:00
2024-03-15 08:21:42 +00:00
2023-08-24 11:38:13 +00:00
2024-03-14 22:39:03 +00:00
2024-03-08 15:37:44 +00:00
2024-03-06 16:13:09 +00:00
2024-03-08 15:37:44 +00:00
2023-11-30 13:22:39 +00:00
2023-08-21 16:28:48 +00:00
2023-08-24 11:07:45 +00:00
2024-03-08 15:37:44 +00:00
2024-01-29 14:56:48 +00:00
2023-11-14 15:19:33 +00:00
2023-05-19 12:41:37 +02:00
2024-03-05 07:59:26 +00:00
2024-03-07 07:49:44 +00:00
2023-12-19 09:04:26 +00:00
2023-05-30 10:44:41 +00:00
2024-02-14 13:13:01 +00:00
2024-03-13 12:39:54 +00:00
2024-02-14 13:13:01 +00:00
2024-03-13 08:38:15 +00:00
2024-03-14 20:41:53 +00:00
2024-02-28 18:08:11 +00:00
2023-12-21 07:43:38 +00:00
2024-01-03 12:05:18 +00:00
2024-03-14 12:38:47 +00:00
2024-03-08 15:37:44 +00:00
2024-02-15 13:08:35 +00:00
2024-03-08 15:37:44 +00:00
2024-03-08 15:37:44 +00:00
2023-06-07 16:45:28 +00:00
2023-11-15 07:52:11 +00:00
2023-11-15 07:52:11 +00:00
2023-07-10 09:43:22 +00:00
2023-04-19 20:12:38 +00:00
2023-04-19 20:12:38 +00:00
2023-10-19 09:27:45 +00:00
2023-10-19 09:27:44 +00:00
2023-09-01 09:30:28 +03:00
2023-09-01 09:30:28 +03:00
2023-08-17 15:13:38 +00:00
2023-08-17 15:13:38 +00:00
2023-04-19 20:12:38 +00:00
2023-04-19 16:05:19 +00:00
2023-10-19 09:27:45 +00:00
2024-01-31 08:27:34 +00:00
2024-01-31 08:27:34 +00:00
2024-01-17 08:20:05 +00:00
2024-01-17 08:20:04 +00:00
2023-10-24 20:59:56 +00:00
2023-07-13 13:41:36 +00:00
2023-07-13 13:41:36 +00:00
2024-02-26 09:53:13 +00:00
2024-02-26 09:53:13 +00:00
2024-03-08 15:37:44 +00:00
2024-03-08 15:37:44 +00:00
2024-03-08 15:37:44 +00:00
2024-03-08 15:37:44 +00:00
2024-01-05 13:34:43 +00:00
2024-01-04 14:08:43 +00:00
2023-08-08 11:00:04 +00:00
2023-08-08 11:00:04 +00:00
2024-01-09 10:44:35 +00:00
2023-07-03 10:11:36 +00:00
2024-02-15 16:10:12 +00:00
2023-05-17 12:44:52 +00:00
2024-03-08 15:37:44 +00:00
2024-03-08 15:37:44 +00:00
2024-03-11 13:38:05 +00:00
2024-01-31 11:16:50 +00:00
2023-08-17 13:55:19 +00:00
2024-02-12 09:00:15 +00:00
2024-02-12 09:00:15 +00:00
2024-02-12 09:00:15 +00:00
2023-07-27 10:28:52 +00:00
2023-10-02 14:37:00 +00:00
2023-08-24 07:54:57 +00:00
2023-04-19 20:12:36 +00:00
2024-01-24 12:49:57 +00:00
2024-01-24 12:49:57 +00:00
2024-01-24 12:49:57 +00:00
2024-01-26 16:32:18 +00:00
2024-01-26 16:32:18 +00:00
2024-01-26 16:32:18 +00:00
2024-01-24 12:49:57 +00:00
2024-01-24 12:49:57 +00:00
2023-11-28 15:37:09 +00:00
2023-08-28 10:57:40 +00:00
2023-08-28 10:57:40 +00:00
2023-08-28 10:57:40 +00:00
2023-08-28 10:57:40 +00:00
2023-08-28 10:57:40 +00:00
2023-08-28 10:57:40 +00:00
2023-08-28 10:57:40 +00:00
2023-08-28 10:57:40 +00:00
2023-07-20 12:50:06 +00:00
2024-01-24 12:49:55 +00:00
2023-08-31 10:19:33 +00:00
2024-03-07 15:10:18 +00:00
2023-11-14 15:19:32 +00:00
2024-02-21 15:04:03 +00:00
2023-07-04 16:00:45 +00:00
2023-08-08 11:00:04 +00:00
2024-02-21 15:04:02 +00:00
2023-11-02 13:20:55 +00:00
2023-11-02 13:20:55 +00:00
2023-05-25 14:52:04 +00:00
2023-04-19 20:12:38 +00:00
2023-04-19 20:12:38 +00:00
2024-01-04 09:45:27 +00:00
2023-10-26 20:07:50 +00:00
2023-10-26 20:07:50 +00:00
2024-01-23 23:16:00 +00:00
2023-08-25 12:23:56 +00:00
2023-08-25 12:23:56 +00:00
2023-08-25 12:23:56 +00:00
2023-08-25 12:23:56 +00:00
2024-03-12 16:35:05 +00:00
2024-03-12 16:35:05 +00:00
2024-03-12 16:35:05 +00:00
2024-03-12 16:35:05 +00:00
2024-03-12 16:35:05 +00:00
2024-02-21 20:24:13 +00:00
2024-02-21 20:24:16 +00:00
2024-02-21 20:24:17 +00:00
2024-01-19 11:40:39 +00:00
2023-08-01 14:58:52 +00:00
2023-05-22 11:40:30 +00:00
2023-05-22 11:40:30 +00:00
2023-05-25 12:19:30 +00:00
2023-05-25 12:19:30 +00:00
2024-03-08 15:37:44 +00:00
2024-01-05 14:15:06 +00:00
2023-07-04 16:00:45 +00:00
2024-03-08 10:07:23 +00:00
2024-03-08 10:07:23 +00:00
2023-04-19 20:12:38 +00:00
2023-04-19 20:12:38 +00:00
2024-01-11 10:32:12 +00:00
2023-08-15 08:04:19 +00:00
2023-08-15 08:04:19 +00:00
2023-05-09 17:23:45 +00:00
2023-07-25 10:55:41 +00:00
2023-07-25 10:55:41 +00:00
2023-09-01 16:00:06 +00:00
2023-09-01 16:00:06 +00:00
2024-02-14 09:57:13 +00:00
2024-02-14 09:57:13 +00:00
2023-09-04 08:05:07 +00:00
2023-08-31 13:07:00 +00:00
2023-07-31 16:12:17 +00:00
2023-08-18 13:31:04 +00:00
2023-05-12 14:47:24 +00:00
2023-08-28 10:57:40 +00:00
2023-08-28 10:57:40 +00:00
2023-08-28 10:57:40 +00:00
2023-08-16 08:09:14 +00:00
2023-08-28 10:57:40 +00:00
2023-08-28 10:57:40 +00:00
2023-08-28 10:57:40 +00:00
2023-08-28 10:57:40 +00:00
2023-08-28 10:57:40 +00:00
2023-08-17 13:55:19 +00:00
2023-11-28 07:55:15 +00:00
2023-11-28 07:55:15 +00:00
2023-09-18 11:41:42 +00:00
2024-01-16 09:57:52 +00:00
2024-01-16 09:57:52 +00:00
2023-12-04 10:12:43 +00:00
2023-07-03 10:11:36 +00:00
2023-10-26 20:07:50 +00:00
2024-03-08 10:07:23 +00:00
2024-03-08 10:07:23 +00:00
2024-03-08 15:37:44 +00:00
2023-09-04 08:05:07 +00:00
2024-02-15 16:10:14 +00:00
2024-03-04 13:34:04 +00:00
2024-03-04 13:34:04 +00:00
2023-10-06 12:22:57 +00:00
2023-09-19 13:42:54 +00:00
2023-09-22 10:48:31 +00:00
2023-05-02 15:10:55 +00:00
2023-05-02 15:10:55 +00:00
2023-12-21 13:29:00 +00:00
2023-08-09 16:35:59 +00:00
2023-08-09 16:35:59 +00:00
2024-03-05 17:38:59 +00:00
2023-05-08 14:25:54 +00:00
2023-07-10 10:26:43 +00:00
2023-05-15 10:03:19 +00:00
2023-09-04 08:05:08 +00:00
2023-07-25 13:16:37 +00:00
2023-12-04 10:12:43 +00:00
2023-09-22 08:38:50 +00:00
2024-03-13 14:31:14 +00:00
2023-09-18 11:17:10 +00:00
2023-09-18 11:17:10 +00:00
2023-08-18 13:29:20 +00:00
2023-08-18 13:29:20 +00:00
2023-10-12 08:56:12 +00:00
2023-10-11 08:33:05 +00:00
2023-10-09 06:55:43 +00:00
2023-08-14 14:55:26 +00:00
2024-01-17 11:31:26 +00:00
2024-03-13 08:38:15 +00:00
2024-02-23 11:52:13 +00:00
2023-09-15 16:37:50 +00:00
2023-07-25 13:16:37 +00:00
2023-09-07 13:48:22 +00:00
2024-03-07 12:49:47 +00:00
2024-03-07 12:49:47 +00:00
2023-04-19 20:12:38 +00:00
2023-04-19 20:12:38 +00:00
2023-04-19 20:12:38 +00:00
2023-04-19 20:12:38 +00:00
2023-05-16 10:40:25 +00:00
2023-05-16 10:40:25 +00:00