Matthias Krüger
48a0d038fa
Rollup merge of #113005 - compiler-errors:dont-query-normalize, r=cjgillot
...
Don't call `query_normalize` when reporting similar impls
Firstly, It's sketchy to be using `query_normalize` at all during HIR typeck -- it's asking for an ICE 😅 . Secondly, we're normalizing an impl trait ref that potentially has parameter types in `ty::ParamEnv::empty()`, which is kinda sketchy as well.
The only UI test change from removing this normalization is that we don't evaluate anonymous constants in impls, which end up giving us really ugly suggestions:
```
error[E0277]: the trait bound `[X; 35]: Default` is not satisfied
--> /home/gh-compiler-errors/test.rs:4:5
|
4 | <[X; 35] as Default>::default();
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the trait `Default` is not implemented for `[X; 35]`
|
= help: the following other types implement trait `Default`:
&[T]
&mut [T]
[T; 32]
[T; core::::array::{impl#30}::{constant#0}]
[T; core::::array::{impl#31}::{constant#0}]
[T; core::::array::{impl#32}::{constant#0}]
[T; core::::array::{impl#33}::{constant#0}]
[T; core::::array::{impl#34}::{constant#0}]
and 27 others
```
So just fold the impls with a `BottomUpFolder` that calls `ty::Const::eval`. This doesn't work totally correctly with generic-const-exprs, but it's fine for stable code, and this is error reporting after all.
2023-07-08 20:53:27 +02:00
..
2023-06-01 18:21:42 +00:00
2023-01-11 09:32:08 +00:00
2023-01-11 09:32:08 +00:00
2023-01-11 09:32:08 +00:00
2023-07-04 15:54:18 +02:00
2023-02-20 12:58:11 +01:00
2023-06-27 23:31:06 +00:00
2023-06-29 16:24:07 +03:00
2023-02-22 08:40:47 -07:00
2023-06-27 23:31:06 +00:00
2023-05-05 21:42:54 +01:00
2023-05-05 21:42:54 +01:00
2023-04-25 19:53:09 +00:00
2023-02-23 10:27:06 -07:00
2023-06-01 18:21:42 +00:00
2023-01-11 09:32:08 +00:00
2023-01-11 09:32:08 +00:00
2023-01-11 09:32:08 +00:00
2023-01-11 09:32:08 +00:00
2023-01-11 09:32:08 +00:00
2023-01-11 09:32:08 +00:00
2023-01-11 09:32:08 +00:00
2023-01-11 09:32:08 +00:00
2023-05-05 21:42:54 +01:00
2023-05-05 21:42:54 +01:00
2023-05-01 15:45:28 +00:00
2023-05-01 15:45:28 +00:00
2023-01-11 09:32:08 +00:00
2023-01-11 09:32:08 +00:00
2023-01-11 09:32:08 +00:00
2023-01-27 19:26:04 +01:00
2023-01-27 19:26:04 +01:00
2023-03-08 00:12:33 +00:00
2023-03-08 00:12:33 +00:00
2023-03-19 03:45:47 +00:00
2023-03-19 03:45:47 +00:00
2023-01-11 09:32:08 +00:00
2023-01-11 09:32:08 +00:00
2023-01-11 09:32:08 +00:00
2023-01-11 09:32:08 +00:00
2023-01-11 09:32:08 +00:00
2023-01-11 09:32:08 +00:00
2023-01-11 09:32:08 +00:00
2023-01-11 09:32:08 +00:00
2023-05-05 21:42:54 +01:00
2023-05-05 21:42:54 +01:00
2023-01-11 09:32:08 +00:00
2023-01-11 09:32:08 +00:00
2023-01-11 09:32:08 +00:00
2023-01-11 09:32:08 +00:00
2023-01-11 09:32:08 +00:00
2023-01-11 09:32:08 +00:00
2023-06-15 12:01:38 +02:00
2023-06-15 12:01:38 +02:00
2023-01-11 09:32:08 +00:00
2023-05-05 21:42:54 +01:00
2023-05-05 21:42:54 +01:00
2023-01-11 09:32:08 +00:00
2023-01-11 09:32:08 +00:00
2023-01-11 09:32:08 +00:00
2023-01-11 09:32:08 +00:00
2023-01-11 09:32:08 +00:00
2023-01-11 09:32:08 +00:00
2023-01-11 09:32:08 +00:00
2023-01-11 09:32:08 +00:00
2023-01-11 09:32:08 +00:00
2023-01-11 09:32:08 +00:00
2023-02-09 10:26:49 +00:00
2023-02-09 10:26:49 +00:00
2023-01-11 09:32:08 +00:00
2023-05-05 21:42:54 +01:00
2023-05-05 21:42:54 +01:00
2023-01-18 04:07:39 +00:00
2023-02-16 15:14:45 +11:00
2023-05-05 21:42:54 +01:00
2023-06-06 09:37:30 +02:00
2023-06-06 09:37:30 +02:00
2023-06-06 09:37:30 +02:00
2023-06-01 18:21:42 +00:00
2023-06-01 18:21:42 +00:00
2023-01-11 09:32:08 +00:00
2023-01-11 09:32:08 +00:00
2023-01-11 09:32:08 +00:00
2023-01-11 09:32:08 +00:00
2023-01-11 09:32:08 +00:00
2023-01-11 09:32:08 +00:00
2023-01-11 09:32:08 +00:00
2023-01-11 09:32:08 +00:00
2023-01-11 09:32:08 +00:00
2023-01-11 09:32:08 +00:00
2023-01-11 09:32:08 +00:00
2023-01-18 04:07:39 +00:00
2023-01-11 09:32:08 +00:00
2023-01-11 09:32:08 +00:00
2023-02-21 05:21:07 +00:00
2023-01-11 09:32:08 +00:00
2023-01-11 09:32:08 +00:00
2023-06-27 23:31:06 +00:00
2023-01-11 09:32:08 +00:00
2023-06-01 18:21:42 +00:00
2023-01-11 09:32:08 +00:00
2023-01-11 09:32:08 +00:00
2023-01-11 09:32:08 +00:00
2023-02-21 05:21:07 +00:00
2023-01-11 09:32:08 +00:00
2023-01-11 09:32:08 +00:00
2023-01-11 09:32:08 +00:00
2023-01-11 09:32:08 +00:00
2023-01-11 09:32:08 +00:00
2023-01-11 09:32:08 +00:00
2023-01-11 09:32:08 +00:00
2023-06-01 18:21:42 +00:00
2023-06-01 18:21:42 +00:00
2023-01-11 09:32:08 +00:00
2023-01-11 09:32:08 +00:00
2023-01-11 09:32:08 +00:00
2023-01-11 09:32:08 +00:00
2023-01-11 09:32:08 +00:00
2023-01-11 09:32:08 +00:00
2023-01-11 09:32:08 +00:00
2023-01-11 09:32:08 +00:00
2023-01-11 09:32:08 +00:00
2023-01-11 09:32:08 +00:00
2023-02-23 10:27:06 -07:00
2023-01-11 09:32:08 +00:00
2023-01-11 09:32:08 +00:00
2023-01-11 09:32:08 +00:00
2023-01-11 09:32:08 +00:00
2023-01-11 09:32:08 +00:00
2023-01-11 09:32:08 +00:00
2023-01-11 09:32:08 +00:00
2023-02-23 10:27:06 -07:00
2023-02-23 10:27:06 -07:00
2023-02-23 10:27:06 -07:00
2023-02-23 10:27:06 -07:00
2023-06-01 18:21:42 +00:00
2023-06-01 18:21:42 +00:00
2023-01-11 09:32:08 +00:00
2023-01-11 09:32:08 +00:00
2023-05-05 21:42:54 +01:00
2023-05-05 21:42:54 +01:00
2023-06-01 18:21:42 +00:00
2023-06-01 18:21:42 +00:00
2023-01-11 09:32:08 +00:00
2023-06-01 18:21:42 +00:00
2023-06-01 18:21:42 +00:00
2023-03-28 08:39:55 +00:00
2023-03-28 08:39:55 +00:00
2023-01-11 09:32:08 +00:00
2023-01-11 09:32:08 +00:00
2023-01-11 09:32:08 +00:00
2023-01-19 15:39:05 +01:00
2023-06-11 16:12:59 +08:00
2023-06-19 20:00:41 +00:00
2023-01-11 09:32:08 +00:00
2023-01-11 09:32:08 +00:00
2023-01-11 09:32:08 +00:00
2023-01-11 09:32:08 +00:00
2023-02-17 09:32:39 +00:00
2023-04-28 11:56:02 +00:00
2023-05-05 21:42:54 +01:00
2023-05-05 21:42:54 +01:00
2023-06-01 18:21:42 +00:00
2023-01-11 09:32:08 +00:00
2023-01-11 09:32:08 +00:00
2023-01-11 09:32:08 +00:00
2023-01-11 09:32:08 +00:00
2023-01-11 09:32:08 +00:00
2023-01-11 09:32:08 +00:00
2023-01-11 09:32:08 +00:00
2023-01-11 09:32:08 +00:00
2023-01-11 09:32:08 +00:00
2023-01-11 09:32:08 +00:00
2023-01-11 09:32:08 +00:00
2023-01-11 09:32:08 +00:00
2023-01-11 09:32:08 +00:00
2023-01-11 09:32:08 +00:00
2023-01-11 09:32:08 +00:00
2023-01-11 09:32:08 +00:00
2023-01-11 09:32:08 +00:00
2023-01-11 09:32:08 +00:00
2023-01-11 09:32:08 +00:00
2023-05-04 11:22:40 +01:00
2023-05-04 11:22:40 +01:00
2023-01-11 09:32:08 +00:00
2023-01-11 09:32:08 +00:00
2023-01-11 09:32:08 +00:00
2023-01-11 09:32:08 +00:00
2023-01-11 09:32:08 +00:00
2023-04-07 11:18:07 -07:00
2023-04-07 11:18:07 -07:00
2023-01-11 09:32:08 +00:00
2023-01-11 09:32:08 +00:00
2023-04-07 11:18:07 -07:00
2023-06-19 20:00:41 +00:00
2023-04-07 11:18:07 -07:00
2023-01-11 09:32:08 +00:00
2023-01-11 09:32:08 +00:00
2023-01-11 09:32:08 +00:00
2023-03-09 20:49:11 +00:00
2023-03-23 19:09:34 +00:00
2023-03-09 20:49:11 +00:00
2023-03-09 20:49:11 +00:00
2023-01-11 09:32:08 +00:00
2023-01-11 09:32:08 +00:00
2023-01-30 20:12:19 +00:00
2023-01-30 20:12:19 +00:00
2023-01-11 09:32:08 +00:00
2023-01-11 09:32:08 +00:00
2023-02-21 05:21:07 +00:00
2023-01-11 09:32:08 +00:00
2023-01-11 09:32:08 +00:00
2023-01-11 09:32:08 +00:00
2023-01-11 09:32:08 +00:00
2023-01-14 15:49:08 +00:00
2023-01-11 09:32:08 +00:00
2023-01-11 09:32:08 +00:00
2023-01-14 15:49:08 +00:00
2023-01-14 15:49:08 +00:00
2023-01-11 09:32:08 +00:00
2023-01-11 09:32:08 +00:00
2023-01-11 09:32:08 +00:00
2023-05-05 21:42:54 +01:00
2023-05-05 21:42:54 +01:00
2023-05-05 21:42:54 +01:00
2023-01-11 09:32:08 +00:00
2023-02-10 14:44:54 +01:00
2023-02-13 18:41:18 +00:00