mlugg
c1a5caa454
compiler: combine @intCast safety checks
...
`castTruncatedData` was a poorly worded error (all shrinking casts
"truncate bits", it's just that we assume those bits to be zext/sext of
the other bits!), and `negativeToUnsigned` was a pointless distinction
which forced the compiler to emit worse code (since two separate safety
checks were required for casting e.g. 'i32' to 'u16') and wasn't even
implemented correctly. This commit combines those safety panics into one
function, `integerOutOfBounds`. The name maybe isn't perfect, but that's
not hugely important; what matters is the new default message, which is
clearer than the old ones: "integer does not fit in destination type".
2025-06-01 12:10:57 +01:00
..
2025-03-05 03:01:43 +00:00
2025-02-03 09:14:37 +00:00
2024-08-28 08:39:59 +01:00
2025-02-03 09:14:37 +00:00
2025-04-02 05:53:22 +01:00
2025-04-02 05:53:22 +01:00
2025-04-02 05:53:22 +01:00
2025-02-03 09:14:37 +00:00
2025-05-31 18:54:28 -04:00
2025-02-03 09:14:37 +00:00
2025-02-03 09:14:37 +00:00
2025-02-03 09:14:37 +00:00
2025-02-03 09:14:37 +00:00
2025-02-03 09:14:37 +00:00
2025-02-03 09:14:37 +00:00
2025-02-03 09:14:37 +00:00
2025-02-03 09:14:37 +00:00
2025-02-03 09:14:37 +00:00
2025-02-03 09:14:37 +00:00
2025-02-03 09:14:37 +00:00
2025-02-03 09:14:37 +00:00
2025-02-03 09:14:37 +00:00
2025-02-03 09:14:37 +00:00
2025-02-03 09:14:37 +00:00
2025-02-03 09:14:37 +00:00
2025-02-03 09:14:37 +00:00
2025-02-03 09:14:37 +00:00
2025-02-03 09:14:37 +00:00
2025-02-03 09:14:37 +00:00
2025-02-03 09:14:37 +00:00
2025-02-03 09:14:37 +00:00
2025-02-03 09:14:37 +00:00
2025-02-03 09:14:37 +00:00
2025-02-03 09:14:37 +00:00
2025-02-03 09:14:37 +00:00
2025-02-03 09:14:37 +00:00
2025-02-03 09:14:37 +00:00
2025-02-03 09:14:37 +00:00
2025-02-03 09:14:37 +00:00
2025-02-03 09:14:37 +00:00
2025-02-03 09:14:37 +00:00
2025-02-03 09:14:37 +00:00
2025-02-03 09:14:37 +00:00
2025-02-03 09:14:37 +00:00
2025-02-03 09:14:37 +00:00
2025-02-03 09:14:37 +00:00
2025-02-03 09:14:37 +00:00
2025-02-03 09:14:37 +00:00
2025-02-03 09:14:37 +00:00
2025-02-03 09:14:37 +00:00
2025-04-26 13:34:17 +10:00
2024-12-05 19:58:38 +00:00
2025-03-29 18:40:23 -04:00
2025-05-16 13:29:55 +01:00
2025-02-15 03:45:21 -05:00
2025-05-27 19:23:11 +01:00
2025-04-28 16:48:45 +01:00
2024-11-23 18:44:07 -05:00
2025-03-29 18:40:23 -04:00
2025-05-31 18:54:28 -04:00
2025-01-09 06:46:47 +00:00
2024-10-19 19:15:23 +01:00
2024-08-28 08:39:59 +01:00
2024-12-31 09:55:04 +00:00
2025-03-29 18:40:23 -04:00
2025-02-15 03:45:21 -05:00
2025-02-15 03:45:21 -05:00
2024-10-19 19:15:23 +01:00
2025-03-16 08:17:50 +00:00
2025-03-16 08:17:50 +00:00
2024-12-05 19:58:38 +00:00
2024-03-11 07:09:10 -07:00
2024-03-11 07:09:10 -07:00
2024-03-11 07:09:10 -07:00
2024-03-11 07:09:10 -07:00
2024-03-11 07:09:10 -07:00
2024-03-11 07:09:10 -07:00
2024-07-12 00:43:38 -07:00
2024-11-29 15:26:58 -05:00
2024-08-28 08:39:59 +01:00
2024-12-31 09:55:04 +00:00
2025-05-18 17:37:02 +01:00
2025-06-01 12:10:57 +01:00
2025-06-01 12:10:57 +01:00
2025-01-09 06:46:47 +00:00
2024-04-17 13:41:25 +01:00
2024-08-28 08:39:59 +01:00
2024-04-17 13:41:25 +01:00
2024-04-17 13:41:25 +01:00
2024-10-19 19:15:23 +01:00
2024-11-09 20:21:32 +00:00
2025-05-31 18:54:28 -04:00
2025-01-21 00:33:32 +00:00
2025-03-29 18:40:23 -04:00
2025-05-27 19:23:11 +01:00
2024-07-21 00:03:23 -07:00
2025-03-05 03:01:43 +00:00
2025-03-05 03:01:43 +00:00
2025-03-05 03:01:43 +00:00
2024-10-19 19:46:07 +01:00
2024-10-19 19:46:07 +01:00
2025-02-15 03:45:21 -05:00
2024-09-10 01:45:48 +03:00
2024-05-11 02:17:24 -07:00
2024-09-01 17:34:07 +01:00
2025-02-15 03:45:21 -05:00
2025-05-19 19:26:12 +01:00
2025-03-29 18:40:23 -04:00
2025-05-16 13:29:55 +01:00
2025-05-31 18:54:28 -04:00
2025-01-01 16:20:40 +00:00
2025-02-26 00:17:09 +00:00
2024-07-16 16:42:13 +00:00
2024-07-16 16:42:13 +00:00
2024-12-05 19:58:38 +00:00
2025-02-15 03:45:21 -05:00
2025-03-29 18:40:23 -04:00
2025-03-29 18:40:23 -04:00
2025-01-11 08:54:47 +00:00
2025-02-15 03:45:21 -05:00
2025-02-15 03:45:21 -05:00
2025-05-16 13:29:55 +01:00
2025-02-15 03:45:21 -05:00
2024-12-31 09:55:04 +00:00
2025-03-29 18:40:23 -04:00
2025-03-29 18:40:23 -04:00
2025-03-29 18:40:23 -04:00
2024-07-04 21:01:41 +01:00
2025-01-29 18:43:24 +00:00
2024-09-01 17:34:07 +01:00
2025-01-29 18:43:24 +00:00
2024-03-14 07:40:05 +00:00
2024-12-19 03:21:56 +00:00
2024-08-28 08:39:59 +01:00
2025-05-16 13:29:55 +01:00
2025-04-26 13:34:17 +10:00
2025-01-11 08:54:47 +00:00
2025-05-16 13:29:55 +01:00
2025-03-16 08:17:50 +00:00
2025-02-21 07:00:37 +01:00
2025-01-09 06:46:47 +00:00
2025-05-16 13:29:55 +01:00
2024-08-29 23:43:52 +01:00
2025-01-09 06:46:47 +00:00
2025-01-14 20:27:49 +00:00
2024-04-17 13:41:25 +01:00
2024-10-31 20:42:53 +00:00
2024-07-04 21:01:42 +01:00
2024-07-15 10:58:33 +03:00
2024-07-21 01:55:52 -07:00
2025-02-15 03:45:21 -05:00
2024-05-14 01:13:49 +09:00
2025-03-29 18:40:23 -04:00
2025-03-29 18:40:23 -04:00
2024-08-29 23:43:52 +01:00
2025-02-15 03:45:21 -05:00
2024-08-29 23:43:52 +01:00
2024-08-29 23:43:52 +01:00
2024-09-01 18:31:01 +01:00
2024-07-31 16:57:42 -07:00
2024-12-31 09:55:04 +00:00
2024-06-15 00:57:52 +01:00
2025-05-16 13:29:55 +01:00
2024-08-29 23:43:52 +01:00
2024-12-31 09:55:04 +00:00
2025-02-15 03:45:21 -05:00
2024-11-29 15:26:58 -05:00
2025-02-15 03:45:21 -05:00
2024-03-28 15:24:01 +02:00
2025-02-15 03:45:21 -05:00
2025-02-15 03:45:21 -05:00
2024-05-22 02:16:56 +09:00
2025-01-09 06:46:47 +00:00
2025-01-09 06:46:47 +00:00
2024-10-27 18:02:12 +01:00
2024-10-19 19:15:23 +01:00
2024-10-19 19:15:23 +01:00
2025-02-15 03:45:21 -05:00
2024-08-27 00:44:35 +01:00
2024-10-19 19:15:23 +01:00
2024-10-19 19:15:23 +01:00
2025-02-22 17:21:34 -05:00
2024-08-29 23:43:52 +01:00
2024-03-30 20:50:48 -04:00
2024-03-30 20:50:48 -04:00
2024-03-30 20:50:48 -04:00
2024-03-30 20:50:48 -04:00
2024-03-30 20:50:48 -04:00
2025-02-15 03:45:21 -05:00
2025-02-25 22:28:47 +00:00
2024-10-31 20:42:53 +00:00
2025-02-15 03:45:21 -05:00
2025-02-06 01:11:10 +00:00
2024-05-14 01:13:48 +09:00
2024-08-28 08:39:59 +01:00
2025-01-03 22:28:37 +00:00
2024-11-23 18:44:07 -05:00
2025-02-15 03:45:21 -05:00
2025-02-15 03:45:21 -05:00
2024-03-17 03:06:17 +01:00
2024-10-19 19:15:23 +01:00
2024-10-19 19:15:23 +01:00
2024-10-19 19:15:23 +01:00
2024-10-19 19:15:23 +01:00
2025-01-09 06:46:47 +00:00
2025-05-16 13:29:55 +01:00
2025-05-16 13:29:55 +01:00
2025-02-15 03:45:21 -05:00
2025-01-09 06:46:47 +00:00
2024-12-31 09:55:04 +00:00
2025-01-29 18:43:24 +00:00
2024-12-31 09:55:04 +00:00
2024-08-28 08:39:59 +01:00
2024-10-28 02:24:59 +00:00
2024-05-14 01:13:48 +09:00
2024-05-14 01:13:48 +09:00
2024-05-14 01:13:48 +09:00
2024-05-14 01:13:49 +09:00
2024-05-14 01:13:48 +09:00
2024-05-14 01:13:49 +09:00
2024-05-14 01:13:48 +09:00
2024-05-14 01:13:48 +09:00
2025-03-17 21:56:14 +03:30
2024-12-16 14:53:54 +00:00
2025-02-15 03:45:21 -05:00
2025-02-15 03:45:21 -05:00
2025-01-22 03:44:13 -05:00
2024-12-16 14:53:54 +00:00
2025-05-18 17:37:02 +01:00
2025-05-18 17:37:02 +01:00
2024-07-21 01:55:52 -07:00
2024-12-31 09:55:04 +00:00
2025-04-27 23:30:00 -07:00
2024-03-30 20:50:48 -04:00
2025-03-29 18:40:23 -04:00
2024-07-04 21:01:42 +01:00
2025-01-09 06:46:47 +00:00
2024-07-04 21:01:42 +01:00
2024-07-04 21:01:42 +01:00
2025-05-27 02:40:58 +01:00
2025-02-15 03:45:21 -05:00
2024-12-31 09:55:04 +00:00
2024-07-21 00:10:36 -07:00
2024-03-30 20:50:48 -04:00
2024-08-27 00:44:35 +01:00
2024-12-05 19:58:38 +00:00
2024-12-05 19:58:38 +00:00
2024-07-04 21:01:42 +01:00
2025-01-26 19:38:07 +01:00
2024-08-29 23:43:52 +01:00
2024-12-11 18:51:10 -05:00
2025-01-29 18:43:24 +00:00
2024-10-18 08:50:40 +01:00
2025-03-05 03:01:43 +00:00
2024-03-17 03:06:17 +01:00
2024-07-31 16:57:42 -07:00
2024-07-03 02:53:37 -04:00
2025-02-15 03:45:21 -05:00
2024-08-28 08:39:59 +01:00
2025-01-14 21:17:46 +00:00
2024-12-16 14:53:54 +00:00
2025-01-29 18:43:24 +00:00
2025-01-16 12:49:58 +00:00
2024-08-29 23:43:52 +01:00
2025-01-22 04:11:02 +00:00
2024-10-19 19:15:23 +01:00
2025-02-26 00:17:09 +00:00
2025-02-15 03:45:21 -05:00
2024-07-31 16:57:42 -07:00
2025-02-17 05:28:11 +01:00
2024-07-21 01:55:52 -07:00
2024-08-28 08:39:59 +01:00
2024-04-17 13:41:25 +01:00
2024-08-28 08:39:59 +01:00
2025-05-15 16:39:15 +01:00
2024-11-12 14:51:10 +00:00
2025-03-29 18:40:23 -04:00
2025-02-15 03:45:21 -05:00
2025-02-15 03:45:21 -05:00
2025-01-29 06:35:22 +00:00
2025-01-29 06:35:22 +00:00
2024-08-28 08:39:59 +01:00
2025-02-15 03:45:21 -05:00
2024-10-03 12:28:44 +03:00
2025-02-15 03:45:21 -05:00
2024-10-31 20:42:53 +00:00
2025-05-16 13:29:55 +01:00
2025-05-15 16:39:15 +01:00
2025-05-16 13:29:55 +01:00
2024-12-05 19:58:38 +00:00
2025-03-29 18:40:23 -04:00
2025-03-29 18:40:23 -04:00
2025-05-16 13:29:55 +01:00
2025-03-29 18:40:23 -04:00
2024-08-29 23:43:52 +01:00
2025-03-29 18:40:23 -04:00
2025-05-16 13:29:55 +01:00
2025-02-15 03:45:21 -05:00
2025-02-15 03:45:21 -05:00
2024-03-30 20:50:48 -04:00
2024-08-28 08:39:59 +01:00
2025-01-09 06:46:47 +00:00
2024-10-19 19:46:07 +01:00
2025-01-09 06:46:47 +00:00
2024-12-31 09:55:04 +00:00
2025-01-16 12:49:58 +00:00
2025-05-16 13:29:55 +01:00
2024-12-31 09:55:04 +00:00
2025-01-29 18:43:24 +00:00
2024-08-28 08:39:59 +01:00
2024-08-28 08:39:59 +01:00
2025-03-16 08:17:50 +00:00
2024-12-05 19:58:38 +00:00
2025-02-05 11:10:11 +02:00
2024-08-28 08:39:59 +01:00
2024-10-19 19:15:23 +01:00
2025-03-29 18:40:23 -04:00
2025-03-29 18:40:23 -04:00
2024-10-31 20:42:53 +00:00
2025-02-15 03:45:21 -05:00
2024-10-12 20:59:12 -07:00
2025-01-16 12:49:58 +00:00
2025-02-15 03:45:21 -05:00
2024-03-11 07:09:10 -07:00
2024-03-17 03:06:17 +01:00
2025-03-29 18:40:23 -04:00
2025-05-16 13:29:55 +01:00
2024-03-30 20:50:48 -04:00
2025-02-15 03:45:21 -05:00
2025-02-15 03:45:21 -05:00
2024-04-17 13:41:25 +01:00
2025-02-15 03:45:21 -05:00
2025-02-15 03:45:21 -05:00
2025-05-16 13:29:55 +01:00
2024-08-29 23:43:52 +01:00
2024-08-29 23:43:52 +01:00
2024-08-29 23:43:52 +01:00
2024-06-19 03:43:13 +01:00
2025-05-31 18:54:28 -04:00
2025-03-29 18:40:23 -04:00
2025-05-16 13:29:55 +01:00
2024-08-28 08:39:59 +01:00
2024-08-28 08:39:59 +01:00
2024-08-28 08:39:59 +01:00
2024-08-28 08:39:59 +01:00
2025-01-16 12:49:58 +00:00
2024-08-28 08:39:59 +01:00
2025-03-29 18:40:23 -04:00
2024-08-28 08:39:59 +01:00
2024-08-28 08:39:59 +01:00
2024-08-28 08:39:59 +01:00
2024-08-28 08:39:59 +01:00
2024-08-28 08:39:59 +01:00
2025-03-29 18:40:23 -04:00
2025-01-16 12:49:58 +00:00
2025-03-29 18:40:23 -04:00
2024-08-28 08:39:59 +01:00
2024-10-19 19:15:23 +01:00
2024-08-28 08:39:59 +01:00
2024-08-28 08:39:59 +01:00
2025-05-16 13:29:55 +01:00
2025-03-05 03:01:43 +00:00
2024-10-14 15:02:14 +03:00
2024-10-19 19:15:23 +01:00
2024-12-31 09:55:04 +00:00
2024-12-31 09:55:04 +00:00
2024-11-29 15:26:58 -05:00
2025-01-22 04:18:43 +00:00
2025-04-28 19:43:58 +01:00
2024-08-28 08:39:59 +01:00
2025-05-16 13:29:55 +01:00
2025-04-28 01:14:22 +01:00
2024-12-31 09:55:04 +00:00
2024-12-31 09:55:04 +00:00
2024-08-28 08:39:59 +01:00
2025-05-17 18:00:17 -04:00
2024-12-24 02:18:41 +00:00
2025-05-16 13:29:55 +01:00
2025-02-15 03:45:21 -05:00
2025-02-15 03:45:21 -05:00
2025-06-01 08:24:01 +01:00
2025-03-16 08:17:50 +00:00
2024-04-17 13:41:25 +01:00
2025-05-19 19:26:12 +01:00
2025-03-29 18:40:23 -04:00
2024-12-31 09:55:04 +00:00
2024-10-19 19:15:23 +01:00
2025-03-16 08:17:50 +00:00
2024-10-27 16:31:45 +01:00
2024-10-10 11:22:49 +01:00
2025-05-16 13:29:55 +01:00
2025-02-15 03:45:21 -05:00
2024-12-15 11:09:04 +00:00
2025-05-16 13:29:55 +01:00
2025-02-15 03:45:21 -05:00
2025-02-05 18:31:39 +00:00
2024-07-04 21:01:42 +01:00
2024-08-29 23:43:52 +01:00
2024-07-04 21:01:42 +01:00
2025-03-29 18:40:23 -04:00
2025-05-16 13:29:55 +01:00
2025-02-15 03:45:21 -05:00
2024-05-11 02:17:24 -07:00
2024-05-11 02:17:24 -07:00
2025-02-15 03:45:21 -05:00
2024-08-28 08:39:59 +01:00
2025-03-29 18:40:23 -04:00
2024-06-15 00:57:52 +01:00
2025-02-05 11:10:11 +02:00
2025-02-05 11:10:11 +02:00
2025-02-05 11:10:11 +02:00
2025-02-05 11:10:11 +02:00
2024-08-11 07:29:41 +01:00
2025-03-29 18:40:23 -04:00
2024-10-31 20:42:53 +00:00
2024-03-28 15:24:01 +02:00
2024-10-19 19:15:23 +01:00
2024-10-31 20:42:53 +00:00
2024-12-23 21:09:17 +00:00
2024-12-31 09:55:04 +00:00
2025-03-16 08:17:50 +00:00
2025-03-29 18:40:23 -04:00
2025-03-16 08:17:50 +00:00
2025-03-29 18:40:23 -04:00
2025-03-29 18:40:23 -04:00
2024-06-15 00:57:52 +01:00
2024-02-26 16:55:17 -08:00
2024-08-29 23:43:52 +01:00
2024-08-29 23:43:52 +01:00
2025-03-08 14:29:20 -05:00
2024-08-28 08:39:59 +01:00
2024-08-28 08:39:59 +01:00
2025-02-15 03:45:21 -05:00
2025-05-16 13:29:55 +01:00
2025-03-05 03:01:43 +00:00
2024-12-08 17:23:57 +00:00
2024-12-16 14:53:54 +00:00
2024-12-23 21:09:17 +00:00
2024-07-21 01:55:52 -07:00
2024-05-14 01:13:49 +09:00
2024-05-14 01:13:48 +09:00
2025-03-29 18:40:23 -04:00
2024-10-19 19:15:23 +01:00
2025-02-02 03:36:16 +00:00