rust/src
Matthias Krüger b41e939cb5
Rollup merge of #123951 - pitaj:reserve-guarded-strings, r=traviscross
Reserve guarded string literals (RFC 3593)

Implementation for RFC 3593, including:
- lexer / parser changes
- diagnostics
- migration lint
- tests

We reserve `#"`, `##"`, `###"`, `####`, and any other string of four or more repeated `#`. This avoids infinite lookahead in the lexer, though we still use infinite lookahead in the parser to provide better forward compatibility diagnostics.

This PR does not implement any special lexing of the string internals:
- strings preceded by one or more `#` are denied
- regardless of the number of trailing `#`
- string contents are lexed as if it was just a bare `"string"`

Tracking issue: #123735
RFC: rust-lang/rfcs#3593
2024-10-09 23:03:47 +02:00
..
bootstrap Rename profiler_support to profiler_runtime throughout compiletest 2024-10-09 20:58:27 +11:00
ci Auto merge of #131412 - matthiaskrgr:rollup-478o6h6, r=matthiaskrgr 2024-10-08 20:45:49 +00:00
doc Update books 2024-10-07 13:01:01 -04:00
etc bootstrap: Consolidate editor LSP setup 2024-10-03 15:22:44 +01:00
gcc@fd3498bff0 Update GCC version 2024-09-06 16:01:46 +02:00
librustdoc Reserve guarded string literals (RFC 3593) 2024-10-08 18:21:16 -06:00
llvm-project@dd46457da7 Update to LLVM 19.1.1 2024-10-05 21:10:04 +08:00
rustdoc-json-types rustdoc: update ProcMacro docs section on helper attributes 2024-09-27 14:34:48 -04:00
tools Rollup merge of #123951 - pitaj:reserve-guarded-strings, r=traviscross 2024-10-09 23:03:47 +02:00
README.md
stage0 Bump stage0 2024-09-22 19:04:19 -04:00
version Bump to 1.83 2024-08-30 19:58:04 +01:00

This directory contains some source code for the Rust project, including:

  • The bootstrapping build system
  • Various submodules for tools, like cargo, tidy, etc.

For more information on how various parts of the compiler work, see the rustc dev guide.