Matthias Krüger
5a853d02f1
Rollup merge of #128171 - compiler-errors:arg-compat, r=oli-obk
...
Make sure that args are compatible in `resolve_associated_item`
Implements a similar check to the one that we have in projection for GATs (#102488 , #123240 ), where we check that the args of an impl item are compatible before returning it. This is done in `resolve_assoc_item`, which is backing `Instance::resolve`, so this is conceptually generalizing the check from GATs to methods/assoc consts. This is important to make sure that the inliner will only visit and substitute MIR bodies that are compatible w/ their trait definitions.
This shouldn't happen in codegen, but there are a few ways to get the inliner to be invoked (via calls to `optimized_mir`) before codegen, namely polymorphization and CTFE.
Fixes #121957
Fixes #120792
Fixes #120793
Fixes #121063
2024-07-25 16:48:21 +02:00
..
2024-06-30 17:08:45 +00:00
2024-06-30 17:08:45 +00:00
2024-07-22 22:51:53 +00:00
2024-06-30 17:08:45 +00:00
2024-06-28 10:57:35 +00:00
2024-06-30 17:08:45 +00:00
2024-06-28 10:57:35 +00:00
2024-06-30 17:08:45 +00:00
2024-06-28 10:57:35 +00:00
2024-06-30 17:08:45 +00:00
2024-06-22 14:11:11 +00:00
2024-06-30 17:08:45 +00:00
2024-02-16 20:02:50 +00:00
2024-06-28 10:57:35 +00:00
2024-06-21 11:57:24 +00:00
2024-06-28 10:57:35 +00:00
2024-06-21 11:57:24 +00:00
2024-06-30 17:08:45 +00:00
2024-06-21 11:57:24 +00:00
2024-06-30 17:08:45 +00:00
2024-06-30 17:08:45 +00:00
2024-02-16 20:02:50 +00:00
2024-06-28 10:57:35 +00:00
2024-06-30 17:08:45 +00:00
2024-06-21 11:57:24 +00:00
2024-06-30 17:08:45 +00:00
2024-06-30 17:08:45 +00:00
2024-02-16 20:02:50 +00:00
2024-06-28 10:57:35 +00:00
2024-06-28 10:57:35 +00:00
2024-06-30 17:08:45 +00:00
2024-06-22 14:11:11 +00:00
2024-06-30 17:08:45 +00:00
2024-06-22 14:11:11 +00:00
2024-06-30 17:08:45 +00:00
2024-02-16 20:02:50 +00:00
2024-03-20 13:00:34 -04:00
2024-02-16 20:02:50 +00:00
2024-06-28 10:57:35 +00:00
2024-02-16 20:02:50 +00:00
2024-06-28 10:57:35 +00:00
2024-02-16 20:02:50 +00:00
2024-05-29 22:26:54 +00:00
2024-06-22 14:11:11 +00:00
2024-06-30 17:08:45 +00:00
2024-02-16 20:02:50 +00:00
2024-06-21 11:57:24 +00:00
2023-12-27 12:51:32 +01:00
2024-04-09 23:58:18 +02:00
2024-06-28 10:57:35 +00:00
2023-12-27 12:51:32 +01:00
2024-06-28 10:57:35 +00:00
2024-02-16 20:02:50 +00:00
2024-06-28 10:57:35 +00:00
2024-06-28 10:57:35 +00:00
2024-02-16 20:02:50 +00:00
2024-06-28 10:57:35 +00:00
2024-06-28 15:44:20 +00:00
2024-06-28 10:57:35 +00:00
2024-02-16 20:02:50 +00:00
2024-06-30 17:08:45 +00:00
2024-03-08 20:56:25 +00:00
2024-06-30 17:08:45 +00:00
2024-06-28 10:57:35 +00:00
2024-06-28 10:57:35 +00:00
2024-06-30 17:08:45 +00:00
2024-07-16 19:27:28 -07:00
2024-06-30 17:08:45 +00:00
2024-06-30 17:08:45 +00:00
2024-06-30 17:08:45 +00:00
2024-06-30 17:08:45 +00:00
2024-06-30 17:08:45 +00:00
2024-02-16 20:02:50 +00:00
2024-06-22 14:11:11 +00:00
2024-06-30 17:08:45 +00:00
2024-02-16 20:02:50 +00:00
2024-06-30 17:08:45 +00:00
2024-02-16 20:02:50 +00:00
2023-12-27 12:51:32 +01:00
2024-02-16 20:02:50 +00:00
2024-01-13 12:46:58 -05:00
2024-02-16 20:02:50 +00:00
2024-01-13 12:46:58 -05:00
2024-02-16 20:02:50 +00:00
2024-06-28 10:57:35 +00:00
2024-06-22 14:11:11 +00:00
2024-06-30 17:08:45 +00:00
2024-06-28 10:57:35 +00:00
2024-06-30 17:08:45 +00:00
2024-07-24 16:00:48 +00:00
2024-07-24 16:00:48 +00:00
2024-06-22 14:11:11 +00:00
2024-06-30 17:08:45 +00:00
2024-06-28 10:57:35 +00:00
2024-06-30 17:08:45 +00:00
2024-06-28 10:57:35 +00:00
2024-06-30 17:08:45 +00:00
2024-06-28 10:57:35 +00:00
2024-06-30 17:08:45 +00:00
2024-06-28 10:57:35 +00:00
2024-06-30 17:08:45 +00:00
2024-06-30 17:08:45 +00:00
2024-02-16 20:02:50 +00:00
2024-07-24 22:59:57 -04:00
2024-07-24 22:59:57 -04:00
2024-06-30 17:08:45 +00:00
2024-06-30 17:08:45 +00:00
2024-02-16 20:02:50 +00:00
2024-03-18 16:08:58 +00:00
2024-02-16 20:02:50 +00:00
2024-06-21 11:57:24 +00:00
2024-06-28 10:57:35 +00:00
2024-07-05 11:59:52 -04:00
2024-07-24 21:03:27 +00:00
2024-02-16 20:02:50 +00:00
2024-03-18 16:08:58 +00:00
2024-02-16 20:02:50 +00:00
2024-03-18 16:08:58 +00:00
2024-02-16 20:02:50 +00:00
2024-03-18 16:08:58 +00:00
2024-02-16 20:02:50 +00:00
2024-02-20 16:09:09 +00:00
2024-02-20 16:09:09 +00:00
2024-02-16 20:02:50 +00:00
2024-07-11 00:00:03 -04:00
2024-07-11 00:00:03 -04:00
2024-02-20 20:55:13 -07:00
2024-03-18 16:08:58 +00:00
2024-02-16 20:02:50 +00:00
2024-06-28 10:57:35 +00:00
2024-06-28 10:57:35 +00:00
2024-06-28 10:57:35 +00:00
2024-06-28 10:57:35 +00:00
2024-06-30 17:08:45 +00:00
2024-02-16 20:02:50 +00:00
2024-03-18 16:08:58 +00:00
2024-06-30 17:08:45 +00:00
2024-06-30 17:08:45 +00:00
2024-06-30 17:08:45 +00:00
2024-02-16 20:02:50 +00:00
2024-03-18 16:08:58 +00:00
2024-02-16 20:02:50 +00:00
2024-03-18 16:08:58 +00:00
2024-06-30 17:08:45 +00:00
2024-06-30 17:08:45 +00:00
2024-06-30 17:08:45 +00:00
2024-06-30 17:08:45 +00:00
2024-06-30 17:08:45 +00:00
2024-06-30 17:08:45 +00:00
2024-06-30 17:08:45 +00:00
2024-06-30 17:08:45 +00:00
2024-06-30 17:08:45 +00:00
2024-06-30 17:08:45 +00:00
2024-06-28 15:44:20 +00:00
2024-06-28 15:44:20 +00:00
2024-06-28 15:44:20 +00:00
2024-02-16 20:02:50 +00:00
2024-06-30 17:08:45 +00:00
2024-06-30 17:08:45 +00:00
2024-06-30 17:08:45 +00:00
2024-01-09 21:08:16 +00:00
2024-06-28 10:57:35 +00:00
2024-07-10 17:49:50 -04:00
2024-06-30 17:08:45 +00:00
2024-02-16 20:02:50 +00:00
2024-06-30 17:08:45 +00:00
2024-06-30 17:08:45 +00:00
2024-02-16 20:02:50 +00:00
2024-06-30 17:08:45 +00:00
2024-06-30 17:08:45 +00:00
2024-06-28 10:57:35 +00:00
2024-06-30 17:08:45 +00:00
2024-06-28 10:57:35 +00:00
2024-06-28 10:57:35 +00:00