Matthias Krüger
434232f7b2
Rollup merge of #118426 - aDotInTheVoid:const-wat, r=compiler-errors,cjgillot
...
ConstProp: Correctly remove const if unknown value assigned to it.
Closes #118328
The problematic sequence of MIR is:
```rust
_1 = const 0_usize;
_1 = const _; // This is an associated constant we can't know before monomorphization.
_0 = _1;
```
1. When `ConstProp::visit_assign` happens on `_1 = const 0_usize;`, it records that `0x0usize` is the value for `_1`.
2. Next `visit_assign` happens on `_1 = const _;`. Because the rvalue `.has_param()`, it can't be const evaled.
3. Finaly, `visit_assign` happens on `_0 = _1;`. Here it would think the value of `_1` was `0x0usize` from step 1.
The solution is to remove consts when checking the RValue fails, as they may have contained values that should now be invalidated, as that local was overwritten.
This should probably be back-ported to beta. Stable is more iffy, as it's gone unidentified since 1.70, so I only think it's worthwhile if there's another reason for a 1.74.1 release anyway.
2023-11-29 12:34:50 +01:00
..
2023-11-14 08:53:25 +00:00
2023-11-29 12:34:50 +01:00
2023-11-14 08:23:58 +01:00
2023-11-24 00:54:06 +08:00
2023-11-14 08:23:58 +01:00
2023-10-19 15:51:52 +00:00
2023-10-19 15:51:52 +00:00
2023-11-20 09:27:30 +01:00
2023-10-25 23:15:18 +02:00
2023-10-19 15:51:52 +00:00
2023-10-19 15:51:52 +00:00
2023-11-26 00:14:18 +00:00
2023-10-19 15:51:52 +00:00
2023-10-19 15:51:52 +00:00
2023-06-15 15:19:11 -04:00
2023-10-19 15:51:52 +00:00
2023-06-15 15:19:11 -04:00
2023-06-23 18:36:25 +01:00
2023-10-19 15:51:53 +00:00
2023-08-24 14:26:26 +02:00
2023-10-19 15:51:53 +00:00
2023-08-24 14:26:26 +02:00
2023-10-19 15:51:53 +00:00
2023-10-19 15:51:53 +00:00
2023-10-19 15:51:53 +00:00
2023-10-19 15:51:53 +00:00
2023-10-16 16:29:35 +00:00
2023-10-19 15:51:52 +00:00
2023-10-16 19:15:28 +00:00
2023-10-16 19:15:28 +00:00
2023-10-19 15:51:52 +00:00
2023-10-16 19:15:28 +00:00
2023-10-16 19:15:28 +00:00
2023-10-19 15:51:52 +00:00
2023-10-16 19:15:28 +00:00
2023-10-16 19:15:28 +00:00
2023-10-19 15:51:52 +00:00
2023-10-31 22:55:59 +00:00
2023-10-31 22:55:59 +00:00
2023-06-15 15:19:11 -04:00
2023-10-19 15:51:52 +00:00
2023-08-30 17:24:10 +08:00
2023-10-19 15:51:52 +00:00
2023-06-15 15:19:11 -04:00
2023-10-19 15:51:52 +00:00
2023-10-16 16:29:35 +00:00
2023-10-16 16:29:35 +00:00
2023-06-15 15:19:11 -04:00
2023-10-16 16:29:35 +00:00
2023-10-16 16:29:35 +00:00
2023-10-19 15:51:52 +00:00
2023-10-20 21:14:01 +00:00
2023-10-20 21:14:01 +00:00
2023-10-20 21:14:01 +00:00
2023-10-20 21:14:01 +00:00
2023-10-20 21:14:01 +00:00
2023-10-20 21:14:01 +00:00
2023-10-20 21:14:01 +00:00
2023-10-20 21:14:01 +00:00
2023-06-15 15:19:11 -04:00
2023-06-23 18:36:25 +01:00
2023-10-19 15:51:52 +00:00
2023-10-24 15:30:17 +00:00
2023-10-24 15:30:17 +00:00
2023-10-19 15:51:52 +00:00
2023-08-24 14:26:26 +02:00
2023-08-24 14:26:26 +02:00
2023-10-19 15:51:52 +00:00
2023-10-24 15:30:17 +00:00
2023-10-24 15:30:17 +00:00
2023-10-19 15:51:52 +00:00
2023-06-15 15:19:11 -04:00
2023-10-19 15:51:52 +00:00
2023-06-15 15:19:11 -04:00
2023-10-19 15:51:52 +00:00
2023-09-19 05:42:23 +00:00
2023-10-19 15:51:52 +00:00
2023-06-15 15:19:11 -04:00
2023-10-19 15:51:52 +00:00
2023-10-19 15:51:52 +00:00
2023-06-15 15:19:11 -04:00
2023-06-15 15:19:11 -04:00
2023-10-19 15:51:52 +00:00
2023-06-15 15:19:11 -04:00
2023-06-15 15:19:11 -04:00
2023-10-19 15:51:52 +00:00
2023-06-15 15:19:11 -04:00
2023-06-15 15:19:11 -04:00
2023-06-15 15:19:11 -04:00
2023-10-19 15:51:52 +00:00
2023-10-16 16:29:35 +00:00
2023-10-16 16:29:35 +00:00
2023-06-15 15:19:11 -04:00
2023-06-15 15:19:11 -04:00
2023-10-19 15:51:52 +00:00
2023-06-15 15:19:11 -04:00
2023-06-15 15:19:11 -04:00
2023-10-16 16:29:35 +00:00
2023-10-16 16:29:35 +00:00
2023-10-24 15:30:17 +00:00
2023-10-19 15:51:52 +00:00
2023-06-28 00:41:37 +00:00
2023-10-19 15:51:52 +00:00
2023-10-17 19:53:51 -04:00
2023-10-17 19:53:51 -04:00
2023-10-19 15:51:52 +00:00
2023-01-11 09:32:08 +00:00
2023-10-19 15:51:52 +00:00
2023-10-25 06:46:48 +00:00
2023-10-25 06:46:48 +00:00
2023-10-25 06:46:45 +00:00
2023-10-25 06:46:45 +00:00
2023-10-25 06:46:47 +00:00
2023-10-25 06:46:47 +00:00
2023-10-25 06:46:47 +00:00
2023-10-25 06:46:47 +00:00
2023-10-25 06:46:48 +00:00
2023-10-25 06:46:48 +00:00
2023-10-25 06:46:47 +00:00
2023-10-25 06:46:47 +00:00
2023-10-25 06:46:48 +00:00
2023-10-25 06:46:48 +00:00
2023-10-25 06:47:04 +00:00
2023-10-25 06:47:04 +00:00
2023-10-25 17:59:30 +00:00
2023-10-25 17:59:30 +00:00
2023-10-25 06:46:45 +00:00
2023-10-25 06:46:45 +00:00
2023-10-25 06:46:47 +00:00
2023-10-25 06:46:47 +00:00
2023-10-25 06:46:48 +00:00
2023-10-25 06:46:48 +00:00
2023-10-25 06:46:47 +00:00
2023-10-25 06:46:47 +00:00
2023-11-14 08:23:58 +01:00
2023-10-25 06:46:48 +00:00
2023-10-25 06:46:48 +00:00
2023-10-25 06:46:48 +00:00
2023-10-25 06:46:48 +00:00
2023-10-25 06:46:47 +00:00
2023-10-25 06:46:47 +00:00
2023-06-15 15:19:11 -04:00
2023-08-30 17:24:10 +08:00
2023-06-15 15:19:11 -04:00
2023-08-30 17:24:10 +08:00
2023-08-30 17:24:10 +08:00
2023-08-30 17:24:10 +08:00
2023-08-30 17:24:10 +08:00
2023-08-30 17:24:10 +08:00
2023-10-19 15:51:52 +00:00
2023-09-19 05:42:23 +00:00
2023-10-19 15:51:52 +00:00
2023-10-19 15:51:52 +00:00
2023-10-19 15:51:52 +00:00
2023-10-19 15:51:52 +00:00
2023-06-15 15:19:11 -04:00
2023-10-19 15:51:52 +00:00
2023-08-24 14:26:26 +02:00
2023-08-24 14:26:26 +02:00
2023-10-19 15:51:52 +00:00
2023-08-24 14:26:26 +02:00
2023-08-24 14:26:26 +02:00
2023-10-19 15:51:52 +00:00
2023-10-19 15:51:52 +00:00
2023-10-24 15:30:17 +00:00
2023-10-24 15:30:17 +00:00
2023-10-19 15:51:52 +00:00
2023-10-19 15:51:52 +00:00
2023-10-24 15:30:17 +00:00
2023-10-24 15:30:17 +00:00
2023-10-24 15:30:17 +00:00
2023-10-19 15:51:52 +00:00
2023-10-19 15:51:52 +00:00
2023-06-15 15:19:11 -04:00
2023-06-15 15:19:11 -04:00
2023-06-15 15:19:11 -04:00
2023-10-19 15:51:52 +00:00
2023-10-19 15:51:52 +00:00
2023-10-25 06:46:45 +00:00
2023-10-25 06:46:45 +00:00
2023-06-15 15:19:11 -04:00
2023-10-19 15:51:52 +00:00
2023-08-24 14:26:26 +02:00
2023-08-24 14:26:26 +02:00
2023-06-15 15:19:11 -04:00
2023-06-15 15:19:11 -04:00
2023-10-19 15:51:52 +00:00
2023-10-24 15:30:17 +00:00
2023-10-24 15:30:17 +00:00
2023-10-19 15:51:52 +00:00
2023-10-06 15:46:11 +00:00
2023-10-06 15:46:11 +00:00
2023-10-19 15:51:52 +00:00
2023-06-15 15:19:11 -04:00
2023-06-23 18:36:25 +01:00
2023-10-19 15:51:52 +00:00
2023-10-21 06:58:38 +00:00
2023-10-21 06:58:38 +00:00
2023-10-21 07:08:53 +00:00
2023-10-21 07:08:53 +00:00
2023-10-21 07:08:53 +00:00
2023-10-21 07:08:53 +00:00
2023-10-21 06:58:38 +00:00
2023-10-21 06:58:38 +00:00
2023-11-20 09:27:30 +01:00
2023-11-20 09:27:30 +01:00
2023-10-21 06:58:38 +00:00
2023-10-21 06:58:38 +00:00
2023-10-21 06:58:38 +00:00
2023-10-21 06:58:38 +00:00
2023-10-21 06:58:38 +00:00
2023-10-21 06:58:38 +00:00
2023-10-21 07:01:24 +00:00
2023-10-21 07:01:24 +00:00
2023-11-20 09:27:30 +01:00
2023-10-21 06:58:38 +00:00
2023-10-21 06:58:38 +00:00
2023-06-15 15:19:11 -04:00
2023-10-19 15:51:52 +00:00
2023-08-30 17:24:10 +08:00
2023-08-30 17:24:10 +08:00
2023-08-30 17:24:10 +08:00
2023-08-30 17:24:10 +08:00
2023-07-07 18:17:16 +02:00
2023-07-07 18:17:16 +02:00
2023-07-07 18:17:16 +02:00
2023-07-07 18:17:16 +02:00
2023-07-07 18:17:16 +02:00
2023-07-07 18:17:16 +02:00
2023-07-07 18:17:16 +02:00
2023-07-07 18:17:16 +02:00
2023-10-19 15:51:54 +00:00
2023-06-15 15:19:11 -04:00
2023-06-15 15:19:11 -04:00
2023-06-15 15:19:11 -04:00
2023-06-15 15:19:11 -04:00
2023-06-15 15:19:11 -04:00
2023-06-15 15:19:11 -04:00
2023-06-15 15:19:11 -04:00
2023-06-15 15:19:11 -04:00
2023-06-15 15:19:11 -04:00
2023-06-15 15:19:11 -04:00
2023-06-15 15:19:11 -04:00
2023-06-15 15:19:11 -04:00
2023-06-15 15:19:11 -04:00
2023-06-15 15:19:11 -04:00
2023-06-15 15:19:11 -04:00
2023-06-15 15:19:11 -04:00
2023-09-04 18:27:34 +02:00
2023-09-04 18:27:34 +02:00
2023-11-16 22:56:25 +00:00
2023-06-15 15:19:11 -04:00
2023-06-15 15:19:11 -04:00
2023-06-15 15:19:11 -04:00
2023-06-15 15:19:11 -04:00
2023-06-15 15:19:11 -04:00
2023-06-15 15:19:11 -04:00
2023-10-24 15:30:17 +00:00
2023-10-24 15:30:17 +00:00
2023-10-24 15:30:17 +00:00
2023-10-24 15:30:17 +00:00
2023-10-24 15:30:17 +00:00
2023-10-24 15:30:17 +00:00
2023-06-15 15:19:11 -04:00
2023-06-15 15:19:11 -04:00
2023-06-19 01:47:03 -07:00
2023-06-19 01:47:03 -07:00
2023-06-15 15:19:11 -04:00
2023-06-15 15:19:11 -04:00
2023-06-15 15:19:11 -04:00
2023-06-15 15:19:11 -04:00
2023-06-15 15:19:11 -04:00
2023-06-15 15:19:11 -04:00
2023-06-15 15:19:11 -04:00
2023-06-15 15:19:11 -04:00
2023-08-30 17:24:10 +08:00
2023-08-30 17:24:10 +08:00
2023-10-19 15:51:54 +00:00
2023-11-08 22:55:29 +01:00
2023-11-08 22:55:29 +01:00
2023-10-19 15:51:52 +00:00
2023-11-08 22:55:29 +01:00
2023-10-19 15:51:52 +00:00
2023-06-15 15:19:11 -04:00
2023-06-15 15:19:11 -04:00
2023-08-30 17:24:10 +08:00
2023-10-19 15:51:52 +00:00
2023-06-15 15:19:11 -04:00
2023-06-15 15:19:11 -04:00
2023-10-19 15:51:52 +00:00
2023-10-19 15:51:52 +00:00
2023-06-15 15:19:11 -04:00
2023-10-19 15:51:52 +00:00
2023-06-15 15:19:11 -04:00
2023-06-15 15:19:11 -04:00
2023-08-24 14:26:26 +02:00
2023-08-24 14:26:26 +02:00
2023-10-19 15:51:52 +00:00
2023-10-19 15:51:52 +00:00
2023-06-15 15:19:11 -04:00
2023-06-15 15:19:11 -04:00
2023-06-23 18:36:25 +01:00
2023-10-19 15:51:52 +00:00
2023-06-15 15:19:11 -04:00
2023-08-24 14:26:26 +02:00
2023-10-19 15:51:52 +00:00
2023-10-19 15:51:54 +00:00
2023-10-08 16:05:26 +00:00
2023-06-23 18:36:25 +01:00
2023-06-23 18:36:25 +01:00
2023-06-23 18:36:25 +01:00
2023-08-17 17:02:04 +00:00
2023-06-15 15:19:11 -04:00
2023-08-17 17:02:04 +00:00
2023-08-17 17:02:04 +00:00
2023-08-17 17:02:04 +00:00
2023-08-17 17:02:04 +00:00
2023-11-14 08:23:58 +01:00
2023-06-23 18:36:25 +01:00
2023-11-08 22:55:29 +01:00
2023-11-08 22:55:29 +01:00
2023-10-19 15:51:52 +00:00
2023-06-15 15:19:11 -04:00
2023-10-19 15:51:52 +00:00
2023-06-15 15:19:11 -04:00
2023-06-23 18:36:25 +01:00
2023-10-19 15:51:52 +00:00
2023-06-15 15:19:11 -04:00
2023-06-15 15:19:11 -04:00
2023-06-15 15:19:11 -04:00
2023-06-15 15:19:11 -04:00
2023-06-15 15:19:11 -04:00
2023-06-23 18:36:25 +01:00
2023-06-15 15:19:11 -04:00
2023-06-23 18:36:25 +01:00
2023-10-19 15:51:52 +00:00
2023-06-15 15:19:11 -04:00
2023-06-15 15:19:11 -04:00
2023-10-19 15:51:52 +00:00
2023-10-19 15:51:52 +00:00
2023-10-19 15:51:52 +00:00
2023-10-19 15:51:52 +00:00
2023-10-19 15:51:52 +00:00
2023-08-30 17:24:10 +08:00
2023-08-30 17:24:10 +08:00
2023-06-15 15:19:11 -04:00
2023-06-23 18:36:25 +01:00
2023-09-21 22:20:58 +02:00
2023-09-21 22:20:58 +02:00
2023-10-02 23:39:45 +03:00
2023-10-02 23:39:45 +03:00
2023-10-19 15:51:52 +00:00
2023-10-19 15:51:52 +00:00
2023-11-20 09:27:30 +01:00
2023-10-19 15:51:52 +00:00
2023-06-15 15:19:11 -04:00
2023-10-19 15:51:52 +00:00
2023-01-11 09:32:08 +00:00
2023-01-11 09:32:08 +00:00
2023-10-19 15:51:52 +00:00
2023-06-15 15:19:11 -04:00
2023-06-15 15:19:11 -04:00
2023-10-19 15:51:52 +00:00
2023-06-15 15:19:11 -04:00
2023-10-19 15:51:52 +00:00
2023-10-25 06:46:45 +00:00
2023-10-25 06:46:45 +00:00
2023-10-19 15:51:52 +00:00
2023-06-15 15:19:11 -04:00
2023-06-23 18:36:25 +01:00
2023-10-19 15:51:52 +00:00
2023-06-15 15:19:11 -04:00
2023-06-23 18:36:25 +01:00
2023-10-19 15:51:52 +00:00
2023-06-15 15:19:11 -04:00
2023-10-19 15:51:52 +00:00
2023-07-07 18:17:16 +02:00
2023-06-15 15:19:11 -04:00
2023-06-15 15:19:11 -04:00
2023-06-15 15:19:11 -04:00
2023-06-15 15:19:11 -04:00
2023-10-19 15:51:52 +00:00
2023-06-15 15:19:11 -04:00
2023-06-15 15:19:11 -04:00
2023-06-15 15:19:11 -04:00
2023-06-15 15:19:11 -04:00
2023-06-15 15:19:11 -04:00
2023-06-23 18:36:25 +01:00
2023-10-19 15:51:52 +00:00
2023-01-11 09:32:08 +00:00
2023-10-19 15:51:52 +00:00
2023-08-24 14:26:26 +02:00
2023-10-19 15:51:52 +00:00
2023-10-19 15:51:52 +00:00
2023-10-19 15:51:52 +00:00
2023-10-19 15:51:52 +00:00
2023-10-19 15:51:52 +00:00
2023-10-19 15:51:52 +00:00
2023-10-19 15:51:52 +00:00
2023-10-19 15:51:52 +00:00
2023-10-19 15:51:52 +00:00
2023-10-19 15:51:52 +00:00
2023-10-19 15:51:52 +00:00
2023-06-15 15:19:11 -04:00
2023-06-15 15:19:11 -04:00
2023-10-19 15:51:52 +00:00
2023-10-31 11:44:23 +00:00
2023-10-31 11:44:23 +00:00
2023-10-31 11:44:23 +00:00
2023-10-31 11:44:23 +00:00
2023-06-15 15:19:11 -04:00
2023-06-15 15:19:11 -04:00
2023-10-19 15:51:52 +00:00
2023-06-15 15:19:11 -04:00
2023-10-31 11:44:23 +00:00
2023-10-19 15:51:52 +00:00
2023-10-31 11:44:23 +00:00
2023-10-31 11:44:23 +00:00
2023-10-31 11:44:23 +00:00
2023-10-31 11:44:23 +00:00
2023-10-31 11:44:23 +00:00
2023-10-31 11:44:23 +00:00
2023-10-31 11:44:23 +00:00
2023-10-31 11:44:23 +00:00
2023-10-19 15:51:52 +00:00
2023-08-24 14:26:26 +02:00
2023-06-15 15:19:11 -04:00
2023-10-19 15:51:52 +00:00
2023-06-15 15:19:11 -04:00