Files
rust/tests/ui
Matthias Krüger ab1fa19d08 Rollup merge of #121047 - compiler-errors:default-impls, r=lcnr
Do not assemble candidates for default impls

There is no reason (as far as I can tell?) that we should assemble an impl candidate for a default impl. This candidate itself does not prove that the impl holds, and any time that it *does* hold, there will be a more specializing non-default impl that also is assembled.

This is because `default impl<T> Foo for T {}` actually expands to `impl<T> Foo for T where T: Foo {}`. The only way to satisfy that where clause (without coinduction) is via *another* implementation that does hold -- precisely an impl that specializes it.

This should fix the specialization related regressions for #116494. That should lead to one root crate regression that doesn't have to do with specialization, which I think we can regress.

r? lcnr cc ``@rust-lang/types``

cc #31844
2024-02-13 22:51:57 +01:00
..
2024-01-30 15:46:40 +00:00
2024-02-07 10:42:01 +08:00
2024-02-10 16:13:48 +01:00
2024-02-09 15:43:08 -03:00
2024-02-09 15:43:08 -03:00
2024-01-16 09:25:28 +01:00
2024-02-07 10:42:01 +08:00
2024-02-09 15:43:08 -03:00
2024-01-13 12:46:58 -05:00
2024-02-07 10:42:01 +08:00
2024-02-07 10:42:01 +08:00
2024-01-13 12:46:58 -05:00
2024-02-01 03:31:03 +00:00
2024-02-07 10:42:01 +08:00
2024-02-07 10:42:01 +08:00
2024-02-09 15:43:08 -03:00
2024-02-08 19:56:30 -05:00
2024-01-13 12:46:58 -05:00
2024-02-09 15:43:08 -03:00
2024-01-27 16:38:57 +01:00
2024-01-23 21:16:24 +08:00
2024-02-10 00:13:13 +09:00
2024-01-13 12:46:58 -05:00
2024-02-09 15:43:08 -03:00
2024-02-01 03:31:03 +00:00
2024-02-07 10:42:01 +08:00
2024-01-27 16:38:57 +01:00
2024-02-12 18:09:39 +09:00
2024-02-07 10:42:01 +08:00
2024-01-13 12:46:58 -05:00
2024-02-09 15:43:08 -03:00
2024-01-16 14:58:42 -05:00
2024-02-08 19:56:30 -05:00
2024-02-07 16:01:58 +01:00
2024-02-09 15:43:08 -03:00
2024-01-13 12:46:58 -05:00
2024-01-24 00:41:45 +01:00
2024-01-13 12:46:58 -05:00
2024-02-07 10:42:01 +08:00
2024-02-07 10:42:01 +08:00
2024-01-13 12:46:58 -05:00
2024-02-07 10:42:01 +08:00
2024-02-10 16:13:48 +01:00
2024-02-07 10:42:01 +08:00
2024-02-07 10:42:01 +08:00
2024-02-01 03:31:03 +00:00
2024-02-06 02:22:58 +00:00
2024-02-07 10:42:01 +08:00
2024-01-13 12:46:58 -05:00
2024-01-13 12:46:58 -05:00
2024-02-04 11:34:10 +08:00
2024-01-13 12:46:58 -05:00
2024-02-01 03:31:03 +00:00
2024-02-07 10:42:01 +08:00
2024-01-13 12:46:58 -05:00
2024-02-07 10:42:01 +08:00
2024-02-07 10:42:01 +08:00
2024-02-07 10:42:01 +08:00
2024-01-13 12:46:58 -05:00
2024-01-13 12:46:58 -05:00
2024-02-07 10:42:01 +08:00
2024-02-07 10:42:01 +08:00