Denis.Zharkov
2bafcddf7a
K2: Avoid using Nothing? as inference result in the majority of cases
...
Namely, do not choose `Nothing?` result type when fixing a variable
that has other constraints besides the ones that came from
the relevant type parameter's upper bounds.
See more details in KT-55691.
In K1, the case from specialCallWithMaterializeAndExpectedType.kt
was working (inferred to String?) just because the branches
were analyzed independently with `String?` expected type.
This change became necessary after the previous commit when we united
inference subsystems for if/when branches (see motivation there).
NB: For K1, the behavior is left the same, but the code
was refactored a bit.
^KT-55691 Fixed
^KT-56448 Fixed
2023-02-15 08:13:50 +00:00
..
2023-02-15 08:13:41 +00:00
2023-02-15 08:13:46 +00:00
2023-01-31 08:39:43 +00:00
2023-02-15 08:13:46 +00:00
2022-07-22 16:03:52 +00:00
2023-01-13 21:32:51 +00:00
2022-11-29 12:25:44 +00:00
2023-02-15 08:13:41 +00:00
2022-11-24 17:29:30 +00:00
2022-07-22 16:03:52 +00:00
2023-02-15 08:13:50 +00:00
2023-02-15 08:13:41 +00:00
2023-02-15 08:13:41 +00:00
2023-02-15 08:13:41 +00:00
2022-09-19 19:12:21 +00:00
2023-02-15 08:13:43 +00:00
2023-02-15 08:13:41 +00:00
2022-11-01 15:28:41 +00:00
2022-07-22 16:03:52 +00:00
2021-11-17 15:26:38 +03:00
2021-11-17 15:26:38 +03:00
2021-11-01 12:25:14 +03:00
2021-05-25 13:28:29 +03:00
2021-08-06 13:27:57 +03:00
2021-08-06 13:27:57 +03:00
2022-03-23 21:13:33 +00:00
2021-05-25 13:28:29 +03:00
2021-03-29 16:12:29 +03:00
2021-08-06 13:27:57 +03:00
2021-08-06 13:27:57 +03:00
2022-03-23 21:13:33 +00:00
2022-07-22 16:03:52 +00:00
2021-11-17 15:26:38 +03:00
2021-03-29 16:30:58 +03:00
2022-07-22 16:03:52 +00:00
2022-07-22 16:03:52 +00:00
2022-07-22 16:03:52 +00:00
2022-07-22 16:03:52 +00:00
2022-03-23 21:13:33 +00:00
2022-11-22 15:46:19 +00:00
2021-05-25 13:28:27 +03:00
2022-07-22 16:03:52 +00:00
2022-07-22 16:03:52 +00:00
2021-05-25 13:28:29 +03:00
2022-07-22 16:03:52 +00:00
2022-07-22 16:03:52 +00:00
2021-05-25 13:28:26 +03:00
2021-05-28 15:36:24 +03:00
2021-07-19 13:40:28 +03:00
2021-03-29 16:12:29 +03:00
2021-11-17 15:26:38 +03:00
2021-04-12 13:44:09 +03:00
2022-07-04 12:05:56 +00:00
2022-07-04 12:05:56 +00:00
2022-07-04 12:05:56 +00:00
2021-06-07 15:25:47 +03:00
2021-02-08 10:40:18 +03:00
2021-02-08 10:40:18 +03:00
2021-11-12 15:20:45 +03:00
2021-05-25 13:28:27 +03:00
2021-06-07 15:25:51 +03:00
2021-05-25 13:28:27 +03:00
2021-06-07 15:25:51 +03:00
2021-05-25 13:28:27 +03:00
2021-06-07 15:25:51 +03:00
2021-10-27 12:26:59 +03:00
2021-10-27 12:26:59 +03:00
2022-11-29 12:25:44 +00:00
2021-05-25 13:28:27 +03:00
2021-06-07 15:25:51 +03:00
2023-02-15 08:13:46 +00:00
2022-05-19 16:53:59 +00:00
2022-02-25 11:46:27 +00:00
2021-05-25 13:28:29 +03:00
2021-03-29 16:12:29 +03:00
2021-06-07 15:25:47 +03:00
2021-05-25 13:28:27 +03:00
2021-03-29 16:12:29 +03:00
2023-02-15 08:13:41 +00:00
2023-02-15 08:13:49 +00:00
2023-02-15 08:13:49 +00:00
2022-04-05 15:50:43 +00:00
2021-11-17 15:26:38 +03:00
2021-11-01 12:25:07 +03:00
2021-05-25 13:28:29 +03:00
2021-05-25 13:28:26 +03:00
2021-05-25 13:28:26 +03:00
2021-05-25 13:28:26 +03:00
2021-05-25 13:28:26 +03:00
2021-05-25 13:28:26 +03:00
2021-05-25 13:28:26 +03:00
2022-11-24 17:29:29 +00:00
2022-11-24 17:29:29 +00:00
2022-11-24 17:29:29 +00:00
2021-03-29 16:12:29 +03:00
2021-03-29 16:12:29 +03:00
2022-04-27 19:50:21 +00:00
2022-07-22 16:03:52 +00:00
2022-05-18 21:19:57 +03:00
2022-09-30 21:39:20 +03:00
2022-09-30 21:39:20 +03:00
2023-01-13 21:32:51 +00:00
2023-01-13 21:32:51 +00:00
2021-05-25 13:28:26 +03:00
2021-05-25 13:28:26 +03:00
2022-01-20 23:46:36 +03:00
2022-02-25 11:46:27 +00:00
2021-04-14 18:11:13 +03:00
2022-03-23 21:13:33 +00:00
2021-03-29 16:12:29 +03:00
2021-05-25 13:28:26 +03:00
2021-05-25 13:28:27 +03:00
2022-04-05 15:50:43 +00:00
2021-05-25 13:28:27 +03:00
2021-06-07 15:25:51 +03:00
2022-07-22 16:03:52 +00:00
2021-05-25 13:28:26 +03:00
2022-07-22 16:03:52 +00:00
2022-07-22 16:03:52 +00:00
2022-07-22 16:03:52 +00:00
2022-07-22 16:03:52 +00:00
2022-07-22 16:03:52 +00:00
2022-07-22 16:03:52 +00:00
2021-06-07 15:25:47 +03:00
2021-10-01 13:33:21 +03:00
2021-06-07 15:25:47 +03:00
2020-12-16 17:57:58 +03:00
2020-12-16 17:57:58 +03:00
2021-11-17 15:26:38 +03:00
2021-05-11 15:41:06 +03:00
2022-08-31 09:45:54 +00:00
2022-08-31 09:45:54 +00:00
2021-07-09 14:07:01 +03:00
2022-01-11 18:07:05 +03:00
2022-06-29 10:20:30 +02:00
2022-01-11 18:07:05 +03:00
2022-04-05 15:50:43 +00:00
2022-01-11 18:07:05 +03:00
2022-01-11 18:07:05 +03:00
2022-05-18 08:57:16 +02:00
2022-05-18 08:57:16 +02:00
2022-05-18 08:57:16 +02:00
2022-08-19 14:01:38 +00:00
2022-08-19 14:01:38 +00:00
2022-08-19 14:01:37 +00:00
2022-08-30 15:56:31 +00:00
2022-08-30 15:56:31 +00:00
2022-07-22 16:03:52 +00:00
2021-04-13 21:36:36 +03:00
2021-02-15 18:51:51 +03:00
2020-10-13 11:00:21 +03:00
2021-03-29 16:12:29 +03:00
2022-07-22 16:03:52 +00:00
2021-07-19 13:40:28 +03:00
2021-03-29 16:12:29 +03:00
2021-11-24 23:13:41 +03:00
2021-11-24 23:13:41 +03:00
2021-06-07 15:25:45 +03:00
2021-06-07 15:25:45 +03:00
2023-02-15 08:13:41 +00:00
2022-11-03 08:30:09 +00:00
2023-02-15 08:13:50 +00:00
2021-03-29 16:12:29 +03:00
2021-03-29 16:12:29 +03:00
2021-11-17 15:26:38 +03:00
2021-03-29 16:17:31 +03:00
2021-07-19 13:40:28 +03:00
2021-05-25 13:28:27 +03:00
2021-03-26 15:19:10 +03:00
2021-03-29 16:12:29 +03:00
2023-02-15 08:13:41 +00:00
2021-11-17 15:26:38 +03:00
2021-07-30 19:06:48 +03:00
2022-04-27 19:50:22 +00:00
2021-11-26 19:39:51 +03:00
2022-05-27 15:14:24 +00:00
2021-11-26 19:39:51 +03:00
2022-01-11 20:45:55 +03:00
2022-01-11 20:45:55 +03:00
2022-11-24 17:29:29 +00:00
2022-11-24 17:29:29 +00:00
2022-11-24 17:29:28 +00:00
2022-11-24 17:29:28 +00:00
2023-02-15 08:13:41 +00:00
2021-11-17 15:26:38 +03:00
2021-11-26 19:39:51 +03:00
2022-07-22 16:03:52 +00:00
2022-07-22 16:03:52 +00:00
2022-07-22 16:03:52 +00:00
2022-07-22 16:03:52 +00:00
2021-08-26 10:08:52 +03:00
2021-08-26 10:08:52 +03:00
2022-11-24 17:29:28 +00:00
2022-07-22 16:03:52 +00:00
2021-05-25 13:28:26 +03:00
2021-05-25 13:28:27 +03:00
2021-05-25 13:28:26 +03:00
2021-05-28 15:36:24 +03:00
2022-07-22 16:03:52 +00:00
2021-11-17 15:26:38 +03:00
2021-11-17 15:26:38 +03:00
2021-11-01 12:25:45 +03:00
2023-01-04 15:09:26 +00:00
2023-01-04 15:09:26 +00:00
2022-03-23 21:13:33 +00:00
2022-01-11 16:27:06 +03:00
2022-01-11 16:27:06 +03:00
2022-01-11 16:27:06 +03:00
2021-11-17 15:26:38 +03:00
2021-11-17 15:26:38 +03:00
2021-04-12 13:44:09 +03:00
2021-11-17 15:26:38 +03:00
2021-11-17 15:26:38 +03:00
2021-04-30 15:46:04 +03:00