bors
d9c4b8d475
Auto merge of #131572 - cuviper:ub-index_range, r=thomcc
...
Avoid superfluous UB checks in `IndexRange`
`IndexRange::len` is justified as an overall invariant, and
`take_prefix` and `take_suffix` are justified by local branch
conditions. A few more UB-checked calls remain in cases that are only
supported locally by `debug_assert!`, which won't do anything in
distributed builds, so those UB checks may still be useful.
We generally expect core's `#![rustc_preserve_ub_checks]` to optimize
away in user's release builds, but the mere presence of that extra code
can sometimes inhibit optimization, as seen in #131563 .
2024-10-17 22:18:24 +00:00
..
2024-05-31 15:56:43 +10:00
2024-07-25 15:14:42 -04:00
2024-10-06 18:12:25 +02:00
2024-05-31 15:56:43 +10:00
2024-09-18 13:53:31 -07:00
2024-07-12 10:47:56 +01:00
2024-08-07 14:08:34 +02:00
2024-09-04 11:49:00 +00:00
2024-10-11 16:22:43 -07:00
2024-05-31 15:56:43 +10:00
2024-05-31 15:56:43 +10:00
2024-05-31 15:56:43 +10:00
2024-10-06 18:12:25 +02:00
2024-05-31 15:56:43 +10:00
2024-06-25 19:00:02 +02:00
2024-09-18 12:31:51 -07:00
2024-07-25 15:14:42 -04:00
2024-08-29 21:48:48 +08:00
2024-09-09 19:39:43 -07:00
2024-09-09 19:39:43 -07:00
2024-06-19 13:54:55 +01:00
2024-08-07 14:08:34 +02:00
2024-05-31 15:56:43 +10:00
2024-05-31 15:56:43 +10:00
2024-05-31 15:56:43 +10:00
2024-05-31 15:56:43 +10:00
2024-05-31 15:56:43 +10:00
2024-05-31 15:56:43 +10:00
2024-06-19 13:54:55 +01:00
2024-09-09 19:39:43 -07:00
2024-09-18 12:28:55 -07:00
2024-05-31 15:56:43 +10:00
2024-05-31 15:56:43 +10:00
2024-05-31 15:56:43 +10:00
2024-05-31 15:56:43 +10:00
2024-08-10 10:44:24 +08:00
2024-06-19 17:48:05 +02:00
2024-10-14 05:30:45 +09:00
2024-05-31 15:56:43 +10:00
2024-10-06 08:14:44 +09:00
2024-09-21 01:51:26 +09:00
2024-05-31 15:56:43 +10:00
2024-07-29 08:26:52 +10:00
2024-05-31 15:56:43 +10:00
2024-05-31 15:56:43 +10:00
2024-10-03 22:15:52 +08:00
2024-05-31 15:56:43 +10:00
2024-05-31 15:56:43 +10:00
2024-07-24 17:13:25 +02:00
2024-07-24 17:13:25 +02:00
2024-08-11 19:40:44 +02:00
2024-08-11 19:40:44 +02:00
2024-08-29 18:12:31 +08:00
2024-06-19 13:54:55 +01:00
2024-05-31 15:56:43 +10:00
2024-05-31 15:56:43 +10:00
2024-05-31 15:56:43 +10:00
2024-05-31 15:56:43 +10:00
2024-05-31 15:56:43 +10:00
2024-06-23 13:29:06 -07:00
2024-09-14 13:30:35 +08:00
2024-07-25 15:14:42 -04:00
2024-05-31 15:56:43 +10:00
2024-08-07 14:08:34 +02:00
2024-08-11 19:40:44 +02:00
2024-09-09 19:39:43 -07:00
2024-09-21 01:07:00 -04:00
2024-06-04 01:30:51 -07:00
2024-05-31 15:56:43 +10:00
2024-05-31 15:56:43 +10:00
2024-05-31 15:56:43 +10:00
2024-05-31 15:56:43 +10:00
2024-05-31 15:56:43 +10:00
2024-05-31 15:56:43 +10:00
2024-08-12 19:20:00 -07:00
2024-08-07 14:08:34 +02:00
2024-10-11 08:43:27 +11:00
2024-06-05 15:40:11 +00:00
2024-05-31 15:56:43 +10:00
2024-05-31 15:56:43 +10:00
2024-05-31 15:56:43 +10:00
2024-05-31 15:56:43 +10:00
2024-05-31 15:56:43 +10:00
2024-05-31 15:56:43 +10:00
2024-07-25 15:14:42 -04:00
2024-05-31 15:56:43 +10:00
2024-06-16 17:19:25 +08:00
2024-05-31 15:56:43 +10:00
2024-05-31 15:56:43 +10:00
2024-06-23 00:40:43 -07:00
2024-05-31 15:56:43 +10:00
2024-05-31 15:56:43 +10:00
2024-05-31 15:56:43 +10:00
2024-05-31 15:56:43 +10:00
2024-08-11 19:40:44 +02:00
2024-09-25 15:53:53 +02:00
2024-05-28 12:31:33 +02:00
2024-07-14 13:48:29 +03:00
2024-05-31 15:56:43 +10:00
2024-05-31 15:56:43 +10:00
2024-08-12 19:20:00 -07:00
2024-08-22 13:23:00 +00:00
2024-05-31 15:56:43 +10:00
2024-05-31 15:56:43 +10:00
2024-05-31 15:56:43 +10:00
2024-08-17 02:14:23 +01:00
2024-09-18 13:53:31 -07:00
2024-10-16 18:38:26 +00:00
2024-05-31 15:56:43 +10:00
2024-05-31 15:56:43 +10:00
2024-05-31 15:56:43 +10:00
2024-05-31 15:56:43 +10:00
2024-07-14 13:48:29 +03:00
2024-07-14 13:48:29 +03:00
2024-05-31 15:56:43 +10:00
2024-05-31 15:56:43 +10:00
2024-09-18 13:53:31 -07:00
2024-08-31 23:56:45 +02:00
2024-05-31 15:56:43 +10:00
2024-05-11 21:22:51 -07:00
2024-10-06 19:00:09 +02:00
2024-09-21 01:07:00 -04:00
2024-05-31 15:56:43 +10:00
2024-05-31 15:56:43 +10:00
2024-05-31 15:56:43 +10:00
2024-05-31 15:56:43 +10:00
2024-07-14 13:48:29 +03:00
2024-05-31 15:56:43 +10:00
2024-10-07 11:12:58 -04:00
2024-09-18 13:53:31 -07:00
2024-05-31 15:56:43 +10:00
2024-05-31 15:56:43 +10:00
2024-06-04 01:30:51 -07:00
2024-05-31 15:56:43 +10:00
2024-06-14 13:31:46 +10:00
2024-06-14 13:31:46 +10:00
2024-05-31 15:56:43 +10:00
2024-05-31 15:56:43 +10:00
2024-10-10 09:50:35 -04:00
2024-05-31 15:56:43 +10:00
2024-05-31 15:56:43 +10:00
2024-08-11 19:40:44 +02:00
2024-05-31 15:56:43 +10:00
2024-05-31 15:56:43 +10:00
2024-08-31 23:56:45 +02:00
2024-09-18 13:53:31 -07:00
2024-05-31 15:56:43 +10:00
2024-05-31 15:56:43 +10:00
2024-05-31 15:56:43 +10:00
2024-05-31 15:56:43 +10:00
2024-05-31 15:56:43 +10:00
2024-05-31 15:56:43 +10:00
2024-08-07 00:41:48 -04:00
2024-05-31 15:56:43 +10:00
2024-05-31 15:56:43 +10:00
2024-05-31 15:56:43 +10:00
2024-05-31 15:56:43 +10:00
2024-08-07 00:41:48 -04:00
2024-08-27 12:06:30 +00:00
2024-05-31 15:56:43 +10:00
2024-05-31 15:56:43 +10:00
2024-09-17 08:55:26 -04:00
2024-05-31 15:56:43 +10:00
2024-05-31 15:56:43 +10:00
2024-09-09 19:39:43 -07:00
2024-06-19 13:54:55 +01:00
2024-06-19 13:54:55 +01:00
2024-06-19 13:54:55 +01:00
2024-09-18 13:53:31 -07:00
2024-09-18 13:53:31 -07:00
2024-05-20 09:21:09 -05:00
2024-05-31 15:56:43 +10:00
2024-08-31 23:56:45 +02:00
2024-06-04 01:30:51 -07:00
2024-05-27 16:26:56 -04:00
2024-05-31 15:56:43 +10:00
2024-06-19 21:26:48 +01:00
2024-05-31 15:56:43 +10:00
2024-09-09 19:39:43 -07:00