Hamish Knight
f8ab391737
Introduce type sugar for InlineArray ( #80087 )
...
* [CS] Decline to handle InlineArray in shrink
Previously we would try the contextual type `(<int>, <element>)`,
which is wrong. Given we want to eliminate shrink, let's just bail.
* [Sema] Sink `ValueMatchVisitor` into `applyUnboundGenericArguments`
Make sure it's called for sugar code paths too. Also let's just always
run it since it should be a pretty cheap check.
* [Sema] Diagnose passing integer to non-integer type parameter
This was previously missed, though would have been diagnosed later
as a requirement failure.
* [Parse] Split up `canParseType`
While here, address the FIXME in `canParseTypeSimpleOrComposition`
and only check to see if we can parse a type-simple, including
`each`, `some`, and `any` for better recovery.
* Introduce type sugar for InlineArray
Parse e.g `[3 x Int]` as type sugar for InlineArray. Gated behind
an experimental feature flag for now.
2025-03-23 15:31:37 -07:00
..
2024-10-31 14:52:09 -07:00
2023-02-02 13:23:28 +09:00
2023-05-05 15:20:07 -07:00
2025-02-26 18:02:00 -08:00
2025-02-03 16:22:11 -08:00
2025-02-26 18:02:00 -08:00
2023-05-30 08:44:02 -06:00
2025-03-14 04:45:56 +02:00
2024-08-08 19:35:00 +02:00
2024-06-08 11:50:19 +01:00
2024-06-08 11:50:19 +01:00
2023-09-18 13:57:49 -07:00
2023-03-22 09:07:17 -07:00
2023-09-18 13:57:49 -07:00
2023-09-18 13:57:49 -07:00
2024-06-08 11:50:19 +01:00
2025-02-25 14:49:12 +00:00
2023-03-22 09:07:17 -07:00
2023-03-22 09:07:17 -07:00
2024-05-15 12:55:05 -07:00
2023-05-13 02:55:49 +03:00
2023-09-18 13:57:49 -07:00
2023-03-22 09:07:17 -07:00
2023-03-22 09:07:17 -07:00
2023-03-22 09:07:17 -07:00
2023-03-22 09:07:17 -07:00
2023-03-22 09:07:17 -07:00
2023-03-22 09:07:17 -07:00
2025-02-25 14:49:12 +00:00
2023-09-18 13:57:49 -07:00
2024-08-08 19:35:00 +02:00
2024-10-19 12:35:20 -07:00
2023-03-22 09:07:17 -07:00
2024-10-31 11:32:40 +00:00
2023-07-07 19:51:01 +02:00
2024-01-22 12:29:05 -08:00
2024-10-31 11:32:40 +00:00
2024-09-17 09:44:42 -04:00
2024-06-08 11:50:19 +01:00
2024-08-08 19:35:00 +02:00
2025-02-25 14:49:13 +00:00
2025-02-25 14:49:12 +00:00
2023-03-22 09:07:17 -07:00
2023-07-07 19:51:01 +02:00
2024-08-08 19:35:00 +02:00
2025-03-14 17:28:53 -07:00
2025-02-20 00:05:03 -08:00
2023-03-22 09:07:17 -07:00
2023-03-22 09:07:17 -07:00
2023-03-22 09:07:17 -07:00
2024-06-08 11:50:19 +01:00
2024-02-09 11:30:52 +00:00
2024-04-08 11:07:48 -07:00
2024-04-10 16:06:47 -07:00
2023-08-21 15:58:59 -07:00
2023-09-18 13:57:49 -07:00
2025-02-25 14:49:12 +00:00
2025-02-25 14:49:12 +00:00
2024-11-04 17:08:20 +00:00
2024-04-10 16:06:47 -07:00
2023-03-22 09:07:17 -07:00
2024-10-31 11:32:40 +00:00
2024-08-08 19:35:00 +02:00
2023-09-18 13:57:49 -07:00
2023-07-07 19:51:01 +02:00
2023-03-22 09:07:17 -07:00
2024-03-14 14:33:43 +09:00
2023-03-22 09:07:17 -07:00
2023-03-22 09:07:17 -07:00
2023-03-22 09:07:17 -07:00
2023-03-22 09:07:17 -07:00
2024-08-08 19:35:00 +02:00
2025-02-25 14:49:12 +00:00
2023-03-22 09:07:17 -07:00
2025-02-25 14:49:12 +00:00
2023-03-22 09:07:17 -07:00
2023-03-22 09:07:17 -07:00
2023-03-22 09:07:17 -07:00
2023-03-22 09:07:17 -07:00
2023-03-22 09:07:17 -07:00
2023-03-22 09:07:17 -07:00
2023-03-22 09:07:17 -07:00
2024-07-01 12:49:52 +01:00
2024-06-07 14:09:53 -07:00
2024-02-07 23:02:37 +00:00
2024-05-15 12:55:05 -07:00
2024-06-08 11:50:19 +01:00
2024-05-15 12:55:05 -07:00
2024-11-11 19:34:21 +00:00
2024-11-02 11:46:46 -07:00
2023-03-22 09:07:17 -07:00
2023-03-22 09:07:17 -07:00
2023-03-22 09:07:17 -07:00
2023-09-18 13:57:49 -07:00
2024-08-08 19:35:00 +02:00
2023-03-22 09:07:17 -07:00
2023-09-18 13:57:49 -07:00
2024-10-29 20:35:40 +00:00
2023-07-07 19:50:46 +02:00
2024-03-22 21:22:11 +00:00
2025-03-23 15:31:37 -07:00
2024-08-08 19:35:00 +02:00
2023-09-18 13:57:49 -07:00
2024-01-29 21:26:08 +00:00
2023-03-22 09:07:17 -07:00
2023-09-18 13:57:49 -07:00
2023-07-07 19:51:01 +02:00
2023-03-22 09:07:17 -07:00
2023-03-22 09:07:17 -07:00
2023-11-16 15:48:46 -08:00
2024-11-11 19:34:21 +00:00
2024-11-18 22:22:43 +00:00
2024-10-30 17:07:22 -07:00
2023-03-22 09:07:17 -07:00
2023-09-18 13:57:49 -07:00
2023-12-03 21:51:40 -08:00
2024-05-20 22:08:33 -07:00
2023-09-18 13:57:49 -07:00
2024-02-07 23:02:37 +00:00
2024-07-02 09:44:32 +01:00
2024-06-08 11:50:19 +01:00
2023-03-22 09:07:17 -07:00
2025-02-25 14:49:13 +00:00
2023-05-13 02:55:49 +03:00
2023-03-22 09:07:17 -07:00
2023-09-18 13:57:49 -07:00
2023-03-22 09:07:17 -07:00
2023-03-22 09:07:17 -07:00
2024-08-08 19:35:00 +02:00
2024-06-06 22:05:40 +01:00
2025-02-25 14:49:13 +00:00
2023-03-22 09:07:17 -07:00
2023-12-05 16:00:59 -08:00
2025-03-14 04:45:56 +02:00
2023-03-22 09:07:17 -07:00
2024-08-08 19:35:00 +02:00
2025-02-13 08:06:24 -08:00
2023-09-18 13:57:49 -07:00
2023-09-18 13:57:49 -07:00
2024-06-08 11:50:19 +01:00
2024-08-08 19:35:00 +02:00
2023-03-22 09:07:17 -07:00
2023-03-22 09:07:17 -07:00
2023-03-22 09:07:17 -07:00
2023-12-13 14:27:50 -08:00
2023-03-22 09:07:17 -07:00
2023-03-22 09:07:17 -07:00
2023-03-22 09:07:17 -07:00
2024-10-31 11:32:40 +00:00
2024-06-21 22:29:56 +01:00
2024-04-12 14:03:57 -07:00
2024-01-29 16:34:41 -08:00
2023-09-18 13:57:49 -07:00
2023-03-22 09:07:17 -07:00
2023-06-22 16:31:03 -07:00
2023-09-29 17:06:18 -07:00
2024-09-17 09:44:42 -04:00
2023-03-22 09:07:17 -07:00
2023-03-22 09:07:17 -07:00
2023-11-23 11:05:53 -08:00
2023-09-18 13:57:49 -07:00
2023-03-22 09:07:17 -07:00
2024-02-29 13:55:43 -08:00
2023-10-25 18:33:16 +05:30
2023-09-18 13:57:49 -07:00
2025-03-11 17:26:27 -04:00
2024-06-08 11:50:19 +01:00
2023-03-22 09:07:17 -07:00
2023-09-18 13:57:49 -07:00
2023-03-22 09:07:17 -07:00
2024-10-30 17:07:22 -07:00
2024-07-10 13:28:26 -04:00
2024-06-08 11:50:19 +01:00
2024-06-08 11:50:19 +01:00
2025-03-05 12:59:46 +00:00
2024-08-02 10:41:37 -07:00
2024-08-28 18:31:51 +01:00
2024-08-13 15:28:53 +01:00
2024-11-19 20:02:46 +00:00
2025-03-07 21:03:33 +00:00
2023-11-16 10:59:23 -08:00
2023-04-15 15:40:05 -07:00
2023-03-22 09:07:17 -07:00
2023-07-07 19:51:01 +02:00
2023-03-22 09:07:17 -07:00
2023-09-18 13:57:49 -07:00
2023-03-22 09:07:17 -07:00
2023-07-07 19:50:46 +02:00
2023-03-22 09:07:17 -07:00
2023-09-18 13:57:49 -07:00
2024-08-08 19:35:00 +02:00
2024-01-31 20:26:20 +00:00
2023-03-22 09:07:17 -07:00
2023-12-04 15:20:05 -08:00
2023-09-18 13:57:49 -07:00
2023-03-22 09:07:17 -07:00
2023-03-22 09:07:17 -07:00
2023-09-18 13:57:49 -07:00
2023-09-27 09:33:38 -07:00
2023-03-22 09:07:17 -07:00
2024-11-15 17:44:27 +00:00
2024-06-08 11:50:19 +01:00
2023-09-18 13:57:49 -07:00
2024-03-18 11:09:08 -07:00
2023-03-22 09:07:17 -07:00
2023-03-22 09:07:17 -07:00
2024-11-02 11:46:46 -07:00
2023-03-22 09:07:17 -07:00
2023-09-18 13:57:49 -07:00
2023-03-22 09:07:17 -07:00
2023-09-18 13:57:49 -07:00
2024-07-03 11:41:58 +01:00
2023-09-18 13:57:49 -07:00
2024-06-08 11:50:19 +01:00
2024-10-19 19:39:18 -07:00
2024-02-07 23:02:37 +00:00
2024-08-08 19:35:00 +02:00
2023-09-18 13:57:49 -07:00
2023-03-22 09:07:17 -07:00
2023-03-22 09:07:17 -07:00
2025-03-14 04:45:56 +02:00
2024-03-04 13:33:40 +00:00
2023-03-22 09:07:17 -07:00
2024-11-19 20:02:46 +00:00
2023-03-22 09:07:17 -07:00
2023-03-22 09:07:17 -07:00
2024-08-08 19:35:00 +02:00
2025-02-25 14:49:12 +00:00
2023-07-07 19:50:46 +02:00
2023-03-22 09:07:17 -07:00
2025-02-25 14:49:12 +00:00
2023-09-18 13:57:49 -07:00
2023-03-22 09:07:17 -07:00
2023-09-18 13:57:49 -07:00
2024-11-19 12:12:21 +00:00
2023-09-18 13:57:49 -07:00
2023-07-07 19:51:01 +02:00
2024-08-08 19:35:00 +02:00
2023-09-18 13:57:49 -07:00
2024-02-29 17:51:00 -08:00
2024-03-05 11:09:17 -08:00
2024-04-10 16:06:47 -07:00
2023-05-13 02:55:49 +03:00
2023-05-13 02:55:49 +03:00
2023-05-13 02:55:49 +03:00
2023-03-22 09:07:17 -07:00
2025-02-07 17:37:35 +00:00
2024-09-22 21:15:45 +01:00
2024-09-22 21:15:45 +01:00
2025-03-15 00:40:59 +01:00
2023-03-22 09:07:17 -07:00
2023-03-22 09:07:17 -07:00
2023-03-22 09:07:17 -07:00
2023-09-18 13:57:49 -07:00
2024-12-20 21:33:24 -08:00
2024-09-08 09:52:37 -07:00
2024-08-07 14:01:30 -07:00
2024-09-08 09:52:37 -07:00
2024-03-21 11:52:32 +09:00
2024-03-21 11:52:32 +09:00
2024-08-21 11:38:54 -07:00
2024-03-21 11:52:32 +09:00
2024-03-21 11:52:32 +09:00
2024-03-21 11:52:32 +09:00
2024-11-02 11:46:46 -07:00
2024-11-02 11:46:46 -07:00
2024-11-02 11:46:46 -07:00
2024-03-21 11:52:32 +09:00
2024-08-21 11:38:54 -07:00
2024-03-25 22:07:50 +09:00
2024-11-02 11:46:46 -07:00
2024-11-02 11:46:46 -07:00
2024-09-18 20:51:09 -07:00
2024-08-28 18:31:51 +01:00
2023-03-08 12:46:50 -08:00
2024-10-25 16:09:22 -04:00
2024-02-11 12:54:35 -08:00
2024-10-31 11:32:40 +00:00
2024-10-19 19:39:18 -07:00
2025-03-15 00:40:59 +01:00
2023-05-13 02:55:49 +03:00
2025-02-10 09:17:40 -05:00