rust/compiler
Matthias Krüger f0710999a9
Rollup merge of #137140 - Noratrieb:const-move, r=jieyouxu,compiler-errors
Fix const items not being allowed to be called `r#move` or `r#static`

Because of an ambiguity with const closures, the parser needs to ensure that for a const item, the `const` keyword isn't followed by a `move` or `static` keyword, as that would indicate a const closure:

```rust
fn main() {
  const move // ...
}
```

This check did not take raw identifiers into account, therefore being unable to distinguish between `const move` and `const r#move`. The latter is obviously not a const closure, so it should be allowed as a const item.

This fixes the check in the parser to only treat `const ...` as a const closure if it's followed by the *proper keyword*, and not a raw identifier.

Additionally, this adds a large test that tests for all raw identifiers in all kinds of positions, including `const`, to prevent issues like this one from occurring again.

fixes #137128
2025-02-17 06:37:39 +01:00
..
rustc switch jemalloc-sys back to tikv-jemalloc-sys, and update to 0.6.0 2024-12-03 08:56:33 +00:00
rustc_abi Split out the extern_system_varargs feature 2025-02-12 19:57:45 -08:00
rustc_arena Add inherent versions of MaybeUninit methods for slices 2025-01-11 23:57:00 -05:00
rustc_ast Add a TyPat in the AST to reuse the generic arg lowering logic 2025-02-11 08:51:05 +00:00
rustc_ast_ir Add sugar for &pin (const|mut) types 2024-10-07 11:15:04 -07:00
rustc_ast_lowering Move some Map methods onto TyCtxt. 2025-02-17 13:21:02 +11:00
rustc_ast_passes compiler: remove rustc_target reexport of rustc_abi::HashStableContext 2025-02-11 18:55:48 -08:00
rustc_ast_pretty Add a TyPat in the AST to reuse the generic arg lowering logic 2025-02-11 08:51:05 +00:00
rustc_attr_data_structures rustc_allowed_through_unstable_modules: require deprecation message 2025-02-02 12:36:12 +01:00
rustc_attr_parsing Rustfmt 2025-02-08 22:12:13 +00:00
rustc_baked_icu_data Delete the cfg(not(parallel)) serial compiler 2024-11-12 13:38:58 +00:00
rustc_borrowck Rollup merge of #136466 - nnethercote:start-removing-Map, r=cjgillot 2025-02-17 06:37:35 +01:00
rustc_builtin_macros Rollup merge of #136646 - oli-obk:pattern-types-ast, r=BoxyUwU 2025-02-12 06:07:37 +01:00
rustc_codegen_cranelift Move some Map methods onto TyCtxt. 2025-02-17 13:21:02 +11:00
rustc_codegen_gcc Auto merge of #136575 - scottmcm:nsuw-math, r=nikic 2025-02-14 14:21:29 +00:00
rustc_codegen_llvm Rollup merge of #136545 - durin42:nvptx64-align, r=nikic 2025-02-16 00:51:24 -05:00
rustc_codegen_ssa Move some Map methods onto TyCtxt. 2025-02-17 13:21:02 +11:00
rustc_const_eval add a doc comment 2025-02-15 08:21:27 +01:00
rustc_data_structures compiler/rustc_data_structures/src/sync/worker_local.rs: delete "unsafe impl Sync" 2025-02-11 10:21:17 +03:00
rustc_driver
rustc_driver_impl Remove TyCtxt::hir_krate. 2025-02-17 13:24:40 +11:00
rustc_error_codes fix the error code document 2025-02-10 04:36:49 +08:00
rustc_error_messages tree-wide: parallel: Fully removed all Lrc, replaced with Arc 2025-02-03 13:25:57 +03:00
rustc_errors Trim suggestion parts to the subset that is purely additive 2025-02-14 00:44:10 -08:00
rustc_expand Reject macro calls inside of #![crate_name] 2025-02-15 16:47:30 +01:00
rustc_feature Rename pattern_complexity attr as pattern_complexity_limit. 2025-02-17 09:30:40 +11:00
rustc_fluent_macro use tracked_path in rustc_fluent_macro 2024-10-19 22:32:38 +08:00
rustc_fs_util Couple of changes to make it easier to compile rustc for wasm 2024-09-26 19:51:14 +00:00
rustc_graphviz Rustfmt 2025-02-08 22:12:13 +00:00
rustc_hir Overhaul the intravisit::Map trait. 2025-02-17 13:21:35 +11:00
rustc_hir_analysis Overhaul the intravisit::Map trait. 2025-02-17 13:21:35 +11:00
rustc_hir_pretty Overhaul the intravisit::Map trait. 2025-02-17 13:21:35 +11:00
rustc_hir_typeck Overhaul the intravisit::Map trait. 2025-02-17 13:21:35 +11:00
rustc_incremental Overhaul the intravisit::Map trait. 2025-02-17 13:21:35 +11:00
rustc_index Rustfmt 2025-02-08 22:12:13 +00:00
rustc_index_macros update rustc_index_macros feature handling 2024-12-19 20:32:12 +03:00
rustc_infer Rustfmt 2025-02-08 22:12:13 +00:00
rustc_interface Rollup merge of #136671 - nnethercote:middle-limits, r=Nadrieril 2025-02-17 06:37:35 +01:00
rustc_lexer Rustfmt 2025-02-08 22:12:13 +00:00
rustc_lint Rollup merge of #137101 - GrigorenkoPV:str-inherent-lint, r=Urgau 2025-02-17 06:37:38 +01:00
rustc_lint_defs Implement lint for definition site item shadowing too 2025-02-13 05:45:53 +00:00
rustc_llvm Rollup merge of #136419 - EnzymeAD:autodiff-tests, r=onur-ozkan,jieyouxu 2025-02-10 16:38:23 +01:00
rustc_log Avoid naming variables str 2025-01-07 14:30:02 +02:00
rustc_macros Rustfmt 2025-02-08 22:12:13 +00:00
rustc_metadata Overhaul the intravisit::Map trait. 2025-02-17 13:21:35 +11:00
rustc_middle Rollup merge of #136671 - nnethercote:middle-limits, r=Nadrieril 2025-02-17 06:37:35 +01:00
rustc_mir_build Rollup merge of #136817 - dianne:clean-and-comment-pat-migration, r=Nadrieril 2025-02-17 06:37:36 +01:00
rustc_mir_dataflow Move drop elaboration infrastructure. 2025-02-14 16:05:34 +11:00
rustc_mir_transform Rollup merge of #136466 - nnethercote:start-removing-Map, r=cjgillot 2025-02-17 06:37:35 +01:00
rustc_monomorphize Move some Map methods onto TyCtxt. 2025-02-17 13:21:02 +11:00
rustc_next_trait_solver adjust derive_error 2025-02-13 23:49:09 +01:00
rustc_parse Fix const items not being allowed to be called r#move or r#static 2025-02-16 18:21:40 +01:00
rustc_parse_format Rustfmt 2025-02-08 22:12:13 +00:00
rustc_passes Overhaul the intravisit::Map trait. 2025-02-17 13:21:35 +11:00
rustc_pattern_analysis Add pattern_complexity_limit to Limits. 2025-02-17 09:30:33 +11:00
rustc_privacy Move some Map methods onto TyCtxt. 2025-02-17 13:21:02 +11:00
rustc_query_impl Removed dependency on the field-offset crate. 2025-02-05 17:56:06 +01:00
rustc_query_system Rollup merge of #136858 - safinaskar:parallel-cleanup-2025-02-11-07-54, r=SparrowLii 2025-02-13 03:53:31 -05:00
rustc_resolve rustdoc: improve refdef handling in the unresolved link lint 2025-02-15 12:21:35 -07:00
rustc_sanitizers check the types in ty::Value to value conversion 2025-01-30 18:13:16 +01:00
rustc_serialize Fix explicit_iter_loop in rustc_serialize 2024-10-16 15:44:16 +02:00
rustc_session Rollup merge of #136671 - nnethercote:middle-limits, r=Nadrieril 2025-02-17 06:37:35 +01:00
rustc_smir Auto merge of #136593 - lukas-code:ty-value-perf, r=oli-obk 2025-02-13 15:27:30 +00:00
rustc_span Rollup merge of #137140 - Noratrieb:const-move, r=jieyouxu,compiler-errors 2025-02-17 06:37:39 +01:00
rustc_symbol_mangling compiler: remove AbiDatas 2025-02-11 20:18:01 -08:00
rustc_target Auto merge of #136953 - ken-matsui:import-target-metadata, r=workingjubilee 2025-02-17 02:01:59 +00:00
rustc_trait_selection Overhaul the intravisit::Map trait. 2025-02-17 13:21:35 +11:00
rustc_traits Auto merge of #136011 - compiler-errors:query-norm-vaniquishes-us, r=jackh726 2025-01-29 02:12:12 +00:00
rustc_transmute transmutability: fix ICE when passing wrong ADT to ASSUME 2025-02-08 05:44:29 +01:00
rustc_ty_utils Move some Map methods onto TyCtxt. 2025-02-17 13:21:02 +11:00
rustc_type_ir normalizes-to rework rigid alias handling 2025-02-13 20:19:11 +00:00
rustc_type_ir_macros Rustfmt 2025-02-08 22:12:13 +00:00
stable_mir Extend the renaming to coerce_unsafe_ptr 2025-02-10 13:01:55 +00:00