Matthias Krüger
ca7e27a71c
Rollup merge of #113182 - compiler-errors:rpit-stricter-captures, r=oli-obk
...
Error when RPITITs' hidden types capture more lifetimes than their trait definitions
This implements a stricter set of captures rules for RPITITs. They now may only capture:
1. Lifetimes from the impl header (both the self type and any trait substs -- we may want to restrict just to the self type's lifetimes, but the PR makes that easy to do, too)
2. Lifetimes mentioned by the `impl Trait` in the trait method's definition.
Namely, they may not mention lifetimes from the method (early or late) that are not mentioned in the `impl Trait`.
cc #105258 which I think was trying to do this too, though I'm not super familiar with what exactly differs from that or why that one was broken.
cc #112194 (doesn't fix this issue per se, because it's still an open question, but I think this is objectively better than the status quo, and gets us closer to resolving that issue.)
Technically is a fix for the ICE in #108580 , but it turns that issue into an error now. We can decide separately whether or not nested RPITITs should capture lifetimes from their parents.
r? ``@oli-obk``
2023-07-01 13:46:01 +02: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-07-01 13:46:01 +02:00
2023-05-05 07:04:06 +10:00
2023-03-22 21:12:40 -07:00
2023-05-25 02:45:14 +00:00
2023-05-25 02:45:14 +00:00
2023-04-12 16:17:31 +00:00
2023-04-12 16:17:31 +00:00
2023-04-12 16:17:31 +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-31 17:45:45 +00:00
2023-01-11 09:32:08 +00:00
2023-01-11 09:32:08 +00:00
2023-05-27 17:37:16 +00:00
2023-01-11 09:32:08 +00:00
2023-01-11 21:40:39 +00:00
2023-02-16 15:14:45 +11: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-18 22:52:30 +00:00
2023-06-18 22:52:30 +00:00
2023-06-18 22:52:30 +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-11 00:19:56 +00:00
2023-06-11 00:19:56 +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-18 01:53:01 +00:00
2023-05-18 01:53:01 +00:00
2023-02-22 09:44:26 +08:00
2023-01-11 09:32:08 +00:00
2023-01-30 21:51:33 +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-13 10:51:21 +02:00
2023-05-13 10:51:21 +02:00
2023-05-13 10:51:21 +02: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-15 19:46:20 +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-03-03 05:02:34 +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 21:30:10 +00:00
2023-01-11 21:30:10 +00:00
2023-01-11 09:32:08 +00:00
2023-04-06 23:01:40 -04: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-12 10:26:50 +00:00
2023-06-22 15:00:12 +00:00
2023-05-12 10:26:50 +00:00
2023-06-22 15:00:12 +00:00
2023-01-11 09:32:08 +00:00
2023-01-11 09:32:08 +00:00
2023-04-20 15:06:17 -03: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-04-12 16:17:31 +00:00
2023-01-11 09:32:08 +00:00
2023-01-27 20:10:17 +00:00
2023-01-27 18:58:13 +00:00
2023-01-27 18:58:13 +00:00
2023-04-12 16:17:31 +00:00
2023-04-12 16:17:31 +00:00
2023-01-11 09:32:08 +00:00
2023-04-12 16:17:31 +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-02-13 16:23:23 +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-02-13 16:23:23 +01:00
2023-05-16 16:02:17 +00:00
2023-05-16 16:02:17 +00:00
2023-05-16 16:02:17 +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-16 09:58:08 +00:00
2023-04-16 09:58: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-31 17:45:45 +00:00
2023-05-31 17:45:45 +00:00
2023-01-11 09:32:08 +00:00
2023-03-03 05:02:34 +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-22 21:52:26 +00:00
2023-01-11 09:32:08 +00:00
2023-01-11 19:46:45 +00:00
2023-01-11 09:32:08 +00:00
2023-01-11 19:46:45 +00:00
2023-01-11 09:32:08 +00:00
2023-06-16 19:39:48 +00:00
2023-03-23 06:19:52 +00:00
2023-01-11 09:32:08 +00:00
2023-06-16 19:39:48 +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-16 19:39:48 +00:00
2023-03-23 06:19:52 +00:00
2023-01-11 09:32:08 +00:00
2023-03-03 05:02:34 +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-04-12 22:50:10 +00:00
2023-01-11 09:32:08 +00:00
2023-01-11 09:32:08 +00:00
2023-06-27 21:36:15 +00:00
2023-02-22 17:05:04 +00:00
2023-02-22 17:05:04 +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-30 20:12:19 +00:00
2023-05-18 01:53:01 +00:00
2023-05-18 01:53:01 +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 19:46:45 +00:00
2023-01-11 09:32:08 +00:00
2023-01-11 09:32:08 +00:00
2023-01-21 05:49:36 +00:00
2023-01-21 05:49:36 +00:00
2023-01-11 09:32:08 +00:00
2023-03-05 08:29:35 +00:00
2023-01-27 18:58:13 +00:00
2023-01-27 18:58:13 +00:00
2023-01-27 18:58:13 +00:00
2023-01-11 09:32:08 +00:00
2023-01-11 09:32:08 +00:00
2023-06-16 19:39:48 +00:00
2023-01-11 09:32:08 +00:00
2023-06-22 15:51:19 +00:00
2023-06-16 19:39:48 +00:00
2023-06-16 19:39:48 +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-03-03 05:02:34 +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-26 01:11:44 +09:00
2023-01-11 09:32:08 +00:00
2023-03-03 05:02:34 +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-04-12 16:17:31 +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-04-12 22:50:10 +00:00
2023-06-26 19:14:49 +00:00
2023-06-26 19:14:49 +00:00
2023-01-11 09:32:08 +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-01-11 09:32:08 +00:00
2023-04-25 19:53:09 +00:00
2023-01-11 09:32:08 +00:00
2023-01-11 09:32:08 +00:00
2023-04-12 16:17:31 +00:00
2023-04-12 16:17:31 +00:00
2023-01-11 09:32:08 +00:00
2023-01-11 09:32:08 +00:00