bors
c872a1418a
Auto merge of #125507 - compiler-errors:type-length-limit, r=lcnr
...
Re-implement a type-size based limit
r? lcnr
This PR reintroduces the type length limit added in #37789 , which was accidentally made practically useless by the caching changes to `Ty::walk` in #72412 , which caused the `walk` function to no longer walk over identical elements.
Hitting this length limit is not fatal unless we are in codegen -- so it shouldn't affect passes like the mir inliner which creates potentially very large types (which we observed, for example, when the new trait solver compiles `itertools` in `--release` mode).
This also increases the type length limit from `1048576 == 2 ** 20` to `2 ** 24`, which covers all of the code that can be reached with craterbot-check. Individual crates can increase the length limit further if desired.
Perf regression is mild and I think we should accept it -- reinstating this limit is important for the new trait solver and to make sure we don't accidentally hit more type-size related regressions in the future.
Fixes #125460
2024-07-03 11:56:36 +00:00
..
2024-07-02 11:25:31 +08:00
2024-02-16 20:02:50 +00:00
2024-04-25 19:44:00 +00:00
2024-02-16 20:02:50 +00:00
2023-11-24 19:15:52 +01:00
2023-06-15 03:18:21 +00:00
2023-06-15 03:18:21 +00:00
2023-06-15 03:18:21 +00:00
2023-11-24 19:15:52 +01:00
2024-02-16 20:02:50 +00:00
2023-11-24 19:15:52 +01:00
2024-02-16 20:02:50 +00:00
2023-09-21 22:20:58 +02:00
2024-02-16 20:02:50 +00:00
2024-02-16 20:02:50 +00:00
2024-01-05 09:30:27 +00:00
2024-01-05 09:30:27 +00:00
2024-02-16 20:02:50 +00:00
2024-02-16 20:02:50 +00:00
2024-02-14 11:00:30 +00:00
2024-02-14 11:00:30 +00:00
2023-11-24 19:15:52 +01:00
2023-11-02 20:57:05 +00:00
2024-05-29 22:26:54 +00:00
2024-02-16 20:02:50 +00:00
2024-02-16 20:02:50 +00:00
2023-11-24 19:15:52 +01:00
2023-06-20 19:46:01 -04:00
2024-01-30 21:28:18 +00:00
2023-11-24 19:15:52 +01:00
2023-11-24 19:15:52 +01:00
2023-11-24 19:15:52 +01:00
2023-11-24 19:15:52 +01:00
2023-11-24 19:15:52 +01:00
2023-11-24 19:15:52 +01:00
2023-11-24 19:15:52 +01:00
2024-05-20 20:16:29 -04:00
2024-01-30 21:28:18 +00:00
2023-11-24 19:15:52 +01:00
2024-01-05 09:30:27 +00:00
2024-01-07 08:56:20 -08:00
2024-05-29 22:26:54 +00:00
2024-02-16 20:02:50 +00:00
2024-02-16 20:02:50 +00:00
2024-02-16 20:02:50 +00:00
2024-03-31 14:58:17 -03:00
2024-03-31 14:58:17 -03:00
2024-04-21 15:43:43 -03:00
2024-04-21 15:43:43 -03:00
2024-04-21 15:43:43 -03:00
2023-11-24 19:15:52 +01:00
2023-11-24 19:15:52 +01:00
2024-02-16 20:02:50 +00:00
2023-08-28 17:47:37 -03:00
2023-11-24 19:15:52 +01:00
2024-04-21 15:43:43 -03:00
2024-04-21 15:43:43 -03:00
2023-10-20 21:14:01 +00:00
2023-11-24 19:15:52 +01:00
2024-02-16 20:02:50 +00:00
2024-02-16 20:02:50 +00:00
2024-02-16 20:02:50 +00:00
2024-02-16 20:02:50 +00:00
2023-11-24 19:15:52 +01:00
2024-02-16 20:02:50 +00:00
2024-07-02 15:48:48 -04:00
2024-07-02 15:48:48 -04:00
2024-04-16 12:42:48 +05:30
2024-04-16 12:42:48 +05:30
2023-11-24 19:15:52 +01:00
2023-11-24 19:15:52 +01:00
2023-11-24 19:15:52 +01:00
2023-11-24 19:15:52 +01:00
2023-11-24 19:15:52 +01:00
2023-11-24 19:15:52 +01:00
2023-11-24 19:15:52 +01:00
2023-11-24 19:15:52 +01:00
2024-02-16 20:02:50 +00:00
2023-01-13 13:34:55 +09:00
2024-02-16 20:02:50 +00:00
2024-02-16 20:02:50 +00:00
2023-09-21 22:20:58 +02:00
2024-02-16 20:02:50 +00:00
2023-11-24 19:15:52 +01:00
2024-02-16 20:02:50 +00:00
2024-02-16 20:02:50 +00:00
2024-02-08 08:10:43 +00:00
2023-03-21 15:28:11 +08:00
2023-06-05 19:05:15 -07:00
2024-02-01 03:30:26 +00:00
2023-06-28 23:56:58 +02:00
2023-11-24 19:15:52 +01:00
2024-02-16 20:02:50 +00:00
2024-03-14 17:19:40 +01:00
2024-02-16 20:02:50 +00:00
2024-02-16 20:02:50 +00:00
2024-02-16 20:02:50 +00:00
2024-02-16 20:02:50 +00:00
2024-02-16 20:02:50 +00:00
2024-02-16 20:02:50 +00:00
2023-11-24 19:15:52 +01:00
2024-02-16 20:02:50 +00:00
2024-02-16 20:02:50 +00:00
2024-02-16 20:02:50 +00:00
2024-02-16 20:02:50 +00:00
2024-04-05 19:42:55 +00:00
2024-04-05 19:42:55 +00:00
2024-04-05 19:42:55 +00:00
2024-02-16 20:02:50 +00:00
2024-02-16 20:02:50 +00:00
2024-02-16 20:02:50 +00:00
2024-02-16 20:02:50 +00:00
2024-02-16 20:02:50 +00:00
2024-02-16 20:02:50 +00:00
2024-02-16 20:02:50 +00:00
2024-02-16 20:02:50 +00:00
2024-06-10 16:28:05 +05:30
2024-06-10 16:28:05 +05:30