Guillaume Gomez
12d1b173fb
Rollup merge of #144977 - fmease:fortify-param-default-checks, r=compiler-errors
...
Fortify generic param default checks
* Hard-reject instead of lint-reject type param defaults in generic assoc consts (GACs) (feature: `generic_const_items`).
* In https://github.com/rust-lang/rust/pull/113522 , I explicitly handled the free const item case and forgot about the assoc const one.
* This led rustc to assume the default of emitting the deny-by-default lint `invalid_type_param_default`.
* GCIs are unstable, thus we're not bound by backward compat
* Hard-reject instead of lint-reject type param defaults in foreign items.
* We already hard-reject generic params on foreign items, so this isn't a breaking change.
* There's no reason why we need to lint-reject.
* Refactor the way we determine where generic param defaults are allowed:
* Don't default to emitting lint `invalid_type_param_defaults` for nodes that aren't explicitly handled but instead panic.
* This would've caught my GAC oversight from above much earlier via fuzzing
* Prevents us from accidentally stabilizing more invalid type param defaults in the future
* Streamline the phrasing of the diagnostic
2025-08-06 21:29:32 +02:00
..
2025-07-24 17:01:44 -04:00
2024-02-16 20:02:50 +00:00
2023-02-23 10:27:06 -07:00
2024-07-22 22:51:53 +00:00
2025-06-23 18:53:56 +05:00
2025-06-11 17:49:03 +05:00
2025-06-11 17:49:03 +05:00
2025-06-04 10:40:04 -04:00
2025-06-04 10:40:04 -04:00
2025-07-13 13:50:00 +00:00
2024-02-16 20:02:50 +00:00
2024-07-22 22:51:53 +00:00
2024-02-16 20:02:50 +00:00
2023-02-23 10:27:06 -07:00
2024-07-22 22:51:53 +00:00
2024-11-26 02:50:48 +08:00
2024-02-16 20:02:50 +00:00
2024-02-16 20:02:50 +00:00
2025-07-13 00:03:31 +05:00
2025-07-13 00:03:31 +05:00
2024-02-16 20:02:50 +00:00
2025-06-24 18:59:42 +00:00
2024-02-16 20:02:50 +00:00
2025-08-06 01:26:26 +02:00
2025-08-06 01:26:26 +02:00
2024-02-16 20:02:50 +00:00
2024-11-26 02:50:48 +08:00
2024-02-16 20:02:50 +00:00
2024-02-16 20:02:50 +00:00
2024-07-09 07:44:17 +00:00
2024-07-09 07:44:17 +00:00
2024-05-20 20:28:57 +08:00
2024-05-20 20:28:57 +08:00
2023-02-23 10:27:06 -07:00
2023-11-24 19:15:52 +01:00
2025-07-24 17:01:44 -04:00
2023-02-23 10:27:06 -07:00
2024-07-22 22:51:53 +00:00
2024-02-16 20:02:50 +00:00
2023-11-24 19:15:52 +01:00
2024-11-26 02:50:48 +08:00
2025-06-04 10:40:04 -04:00
2025-06-04 10:40:04 -04:00
2025-07-13 13:50:00 +00:00
2025-03-12 16:56:26 +00:00
2025-03-12 16:56:26 +00:00
2024-02-16 20:02:50 +00:00
2024-02-16 20:02:50 +00:00
2025-07-01 15:29:29 +05:00
2025-07-01 15:29:29 +05:00
2024-02-16 20:02:50 +00:00
2024-02-16 20:02:50 +00:00
2024-11-26 02:50:48 +08:00
2024-11-26 02:50:48 +08:00
2025-02-06 22:28:44 +00:00
2024-02-16 20:02:50 +00:00
2024-11-26 02:50:48 +08:00
2024-02-16 20:02:50 +00:00
2024-02-16 20:02:50 +00:00
2024-03-17 23:40:12 +00:00
2024-03-17 23:40:12 +00:00
2023-02-23 10:27:06 -07:00
2024-07-22 22:51:53 +00:00
2025-03-12 16:56:26 +00:00
2025-03-12 16:56:26 +00:00
2025-04-30 10:44:24 +03:00
2025-04-30 10:44:24 +03:00
2024-11-26 02:50:48 +08:00
2024-02-16 20:02:50 +00:00
2024-02-16 20:02:50 +00:00
2024-11-20 18:57:02 +00:00
2024-11-20 18:57:02 +00:00
2024-06-05 20:08:00 -04:00
2025-06-24 18:59:42 +00:00
2025-08-06 01:26:26 +02:00
2025-08-06 01:26:26 +02: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
2023-11-24 19:15:52 +01:00
2024-02-01 03:30:26 +00:00
2025-03-12 16:56:26 +00:00
2023-02-09 10:26:49 +00:00
2023-06-30 00:34:14 +00:00
2023-04-15 17:17:46 +05:30
2025-01-23 06:01:36 +00:00
2023-11-24 19:15:52 +01:00
2023-09-22 22:41:01 -07: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
2025-02-10 20:21:39 +00:00
2024-02-16 20:02:50 +00:00
2024-02-16 20:02:50 +00:00
2025-02-10 20:21:39 +00:00
2023-09-10 23:06:14 +02:00
2023-11-24 19:15:52 +01:00
2023-01-15 12:23:46 +13:00
2023-01-15 12:23:46 +13:00
2024-11-26 02:50:48 +08:00
2025-06-30 11:50:19 +05:00
2025-08-06 01:26:26 +02:00
2025-08-06 01:26:26 +02:00
2023-11-30 20:59:51 +01:00
2025-06-02 15:37:15 +00:00
2025-06-02 15:37:15 +00:00
2023-05-01 16:15:13 +08:00
2025-04-24 02:57:10 +02:00
2025-04-30 10:44:24 +03:00
2023-11-24 19:15:52 +01:00
2025-07-05 01:54:04 +05:00
2025-07-05 01:54:04 +05:00
2024-11-26 02:50:48 +08:00
2023-12-01 20:01:39 +00:00
2023-12-01 20:01:39 +00:00
2025-06-28 16:24:17 +05:00
2025-06-28 16:24:17 +05:00
2025-08-02 15:29:16 -04:00
2025-08-04 16:43:53 -04:00
2024-07-22 22:04:49 +00:00
2024-07-22 22:51:53 +00:00