Rollup merge of #138682 - Alexendoo:extra-symbols, r=fee1-dead
Allow drivers to supply a list of extra symbols to intern
Allows adding new symbols as `const`s in external drivers, desirable in Clippy so we can use them in patterns to replace code like 75530e9f72/src/tools/clippy/clippy_lints/src/casts/cast_ptr_alignment.rs (L66)
The Clippy change adds a couple symbols as a demo, the exact `clippy_utils` API and replacing other usages can be done on the Clippy side to minimise sync conflicts
---
try-job: aarch64-gnu
This commit is contained in:
@@ -348,6 +348,10 @@ pub struct Config {
|
||||
/// the list of queries.
|
||||
pub override_queries: Option<fn(&Session, &mut Providers)>,
|
||||
|
||||
/// An extra set of symbols to add to the symbol interner, the symbol indices
|
||||
/// will start at [`PREDEFINED_SYMBOLS_COUNT`](rustc_span::symbol::PREDEFINED_SYMBOLS_COUNT)
|
||||
pub extra_symbols: Vec<&'static str>,
|
||||
|
||||
/// This is a callback from the driver that is called to create a codegen backend.
|
||||
///
|
||||
/// Has no uses within this repository, but is used by bjorn3 for "the
|
||||
@@ -409,6 +413,7 @@ pub fn run_compiler<R: Send>(config: Config, f: impl FnOnce(&Compiler) -> R + Se
|
||||
&early_dcx,
|
||||
config.opts.edition,
|
||||
config.opts.unstable_opts.threads,
|
||||
&config.extra_symbols,
|
||||
SourceMapInputs { file_loader, path_mapping, hash_kind, checksum_hash_kind },
|
||||
|current_gcx| {
|
||||
// The previous `early_dcx` can't be reused here because it doesn't
|
||||
|
||||
Reference in New Issue
Block a user