Rollup merge of #152550 - Ozzy1423:rustc-attrs, r=JonathanBrouwer
Port #[prelude_import] to the attribute parser Tracking issue: https://github.com/rust-lang/rust/issues/131229 r? @JonathanBrouwer Didn't change any use-sites of it in the compiler
This commit is contained in:
commit
9e0a05b481
33 changed files with 44 additions and 30 deletions
|
|
@ -1211,3 +1211,12 @@ impl<S: Stage> SingleAttributeParser<S> for RustcReservationImplParser {
|
|||
Some(AttributeKind::RustcReservationImpl(cx.attr_span, value_str))
|
||||
}
|
||||
}
|
||||
|
||||
pub(crate) struct PreludeImportParser;
|
||||
|
||||
impl<S: Stage> NoArgsAttributeParser<S> for PreludeImportParser {
|
||||
const PATH: &[Symbol] = &[sym::prelude_import];
|
||||
const ON_DUPLICATE: OnDuplicate<S> = OnDuplicate::Warn;
|
||||
const ALLOWED_TARGETS: AllowedTargets = AllowedTargets::AllowList(&[Allow(Target::Use)]);
|
||||
const CREATE: fn(Span) -> AttributeKind = |_| AttributeKind::PreludeImport;
|
||||
}
|
||||
|
|
|
|||
|
|
@ -258,6 +258,7 @@ attribute_parsers!(
|
|||
Single<WithoutArgs<PassByValueParser>>,
|
||||
Single<WithoutArgs<PinV2Parser>>,
|
||||
Single<WithoutArgs<PointeeParser>>,
|
||||
Single<WithoutArgs<PreludeImportParser>>,
|
||||
Single<WithoutArgs<ProcMacroAttributeParser>>,
|
||||
Single<WithoutArgs<ProcMacroParser>>,
|
||||
Single<WithoutArgs<ProfilerRuntimeParser>>,
|
||||
|
|
|
|||
|
|
@ -1053,6 +1053,9 @@ pub enum AttributeKind {
|
|||
/// Represents `#[pointee]`
|
||||
Pointee(Span),
|
||||
|
||||
/// Represents `#[prelude_import]`
|
||||
PreludeImport,
|
||||
|
||||
/// Represents `#[proc_macro]`
|
||||
ProcMacro(Span),
|
||||
|
||||
|
|
|
|||
|
|
@ -82,6 +82,7 @@ impl AttributeKind {
|
|||
PatternComplexityLimit { .. } => No,
|
||||
PinV2(..) => Yes,
|
||||
Pointee(..) => No,
|
||||
PreludeImport => No,
|
||||
ProcMacro(..) => No,
|
||||
ProcMacroAttribute(..) => No,
|
||||
ProcMacroDerive { .. } => No,
|
||||
|
|
|
|||
|
|
@ -282,6 +282,7 @@ impl<'tcx> CheckAttrVisitor<'tcx> {
|
|||
| AttributeKind::PatternComplexityLimit { .. }
|
||||
| AttributeKind::PinV2(..)
|
||||
| AttributeKind::Pointee(..)
|
||||
| AttributeKind::PreludeImport
|
||||
| AttributeKind::ProfilerRuntime
|
||||
| AttributeKind::RecursionLimit { .. }
|
||||
| AttributeKind::ReexportTestHarnessMain(..)
|
||||
|
|
@ -394,7 +395,6 @@ impl<'tcx> CheckAttrVisitor<'tcx> {
|
|||
// need to be fixed
|
||||
| sym::deprecated_safe // FIXME(deprecated_safe)
|
||||
// internal
|
||||
| sym::prelude_import
|
||||
| sym::panic_handler
|
||||
| sym::lang
|
||||
| sym::default_lib_allocator
|
||||
|
|
|
|||
|
|
@ -7,7 +7,7 @@
|
|||
#![allow(incomplete_features)]
|
||||
#![feature(fn_delegation)]
|
||||
extern crate std;
|
||||
#[prelude_import]
|
||||
#[attr = PreludeImport]
|
||||
use std::prelude::rust_2021::*;
|
||||
|
||||
extern crate to_reuse_functions;
|
||||
|
|
|
|||
|
|
@ -5,7 +5,7 @@
|
|||
#![allow(incomplete_features)]
|
||||
#![feature(fn_delegation)]
|
||||
extern crate std;
|
||||
#[prelude_import]
|
||||
#[attr = PreludeImport]
|
||||
use ::std::prelude::rust_2015::*;
|
||||
|
||||
mod to_reuse {
|
||||
|
|
|
|||
|
|
@ -5,7 +5,7 @@
|
|||
#![allow(incomplete_features)]
|
||||
#![feature(fn_delegation)]
|
||||
extern crate std;
|
||||
#[prelude_import]
|
||||
#[attr = PreludeImport]
|
||||
use ::std::prelude::rust_2015::*;
|
||||
|
||||
fn b<C>(e: C) { }
|
||||
|
|
|
|||
|
|
@ -1,5 +1,5 @@
|
|||
extern crate std;
|
||||
#[prelude_import]
|
||||
#[attr = PreludeImport]
|
||||
use ::std::prelude::rust_2015::*;
|
||||
//@ pretty-compare-only
|
||||
//@ pretty-mode:hir
|
||||
|
|
|
|||
|
|
@ -4,7 +4,7 @@
|
|||
|
||||
#![feature(c_variadic)]
|
||||
extern crate std;
|
||||
#[prelude_import]
|
||||
#[attr = PreludeImport]
|
||||
use ::std::prelude::rust_2015::*;
|
||||
|
||||
extern "C" {
|
||||
|
|
|
|||
|
|
@ -1,5 +1,5 @@
|
|||
extern crate std;
|
||||
#[prelude_import]
|
||||
#[attr = PreludeImport]
|
||||
use ::std::prelude::rust_2015::*;
|
||||
//@ pretty-compare-only
|
||||
//@ pretty-mode:hir
|
||||
|
|
|
|||
|
|
@ -6,7 +6,7 @@
|
|||
|
||||
#![allow(unused)]
|
||||
extern crate std;
|
||||
#[prelude_import]
|
||||
#[attr = PreludeImport]
|
||||
use ::std::prelude::rust_2015::*;
|
||||
|
||||
struct Foo<'a> {
|
||||
|
|
|
|||
|
|
@ -1,5 +1,5 @@
|
|||
extern crate std;
|
||||
#[prelude_import]
|
||||
#[attr = PreludeImport]
|
||||
use ::std::prelude::rust_2015::*;
|
||||
//@ pretty-compare-only
|
||||
//@ pretty-mode:hir
|
||||
|
|
|
|||
|
|
@ -1,5 +1,5 @@
|
|||
extern crate std;
|
||||
#[prelude_import]
|
||||
#[attr = PreludeImport]
|
||||
use ::std::prelude::rust_2015::*;
|
||||
//@ pretty-compare-only
|
||||
//@ pretty-mode:hir
|
||||
|
|
|
|||
|
|
@ -1,5 +1,5 @@
|
|||
extern crate std;
|
||||
#[prelude_import]
|
||||
#[attr = PreludeImport]
|
||||
use ::std::prelude::rust_2015::*;
|
||||
//@ pretty-compare-only
|
||||
//@ pretty-mode:hir
|
||||
|
|
|
|||
|
|
@ -1,5 +1,5 @@
|
|||
extern crate std;
|
||||
#[prelude_import]
|
||||
#[attr = PreludeImport]
|
||||
use ::std::prelude::rust_2015::*;
|
||||
//@ pretty-compare-only
|
||||
//@ pretty-mode:hir,typed
|
||||
|
|
|
|||
|
|
@ -1,5 +1,5 @@
|
|||
extern crate std;
|
||||
#[prelude_import]
|
||||
#[attr = PreludeImport]
|
||||
use ::std::prelude::rust_2015::*;
|
||||
// Test to print lifetimes on HIR pretty-printing.
|
||||
|
||||
|
|
|
|||
|
|
@ -5,7 +5,7 @@
|
|||
#![feature(pin_ergonomics)]
|
||||
#![allow(dead_code, incomplete_features)]
|
||||
extern crate std;
|
||||
#[prelude_import]
|
||||
#[attr = PreludeImport]
|
||||
use ::std::prelude::rust_2015::*;
|
||||
|
||||
use std::pin::Pin;
|
||||
|
|
|
|||
|
|
@ -3,7 +3,7 @@
|
|||
|
||||
#![feature(const_block_items)]
|
||||
extern crate std;
|
||||
#[prelude_import]
|
||||
#[attr = PreludeImport]
|
||||
use ::std::prelude::rust_2015::*;
|
||||
|
||||
const _: () =
|
||||
|
|
|
|||
|
|
@ -1,5 +1,5 @@
|
|||
extern crate std;
|
||||
#[prelude_import]
|
||||
#[attr = PreludeImport]
|
||||
use ::std::prelude::rust_2015::*;
|
||||
//@ compile-flags: -Zunpretty=hir
|
||||
//@ edition: 2015
|
||||
|
|
|
|||
|
|
@ -1,5 +1,5 @@
|
|||
extern crate std;
|
||||
#[prelude_import]
|
||||
#[attr = PreludeImport]
|
||||
use ::std::prelude::rust_2015::*;
|
||||
// https://github.com/rust-lang/rust/issues/82329
|
||||
//@ compile-flags: -Zunpretty=hir,typed
|
||||
|
|
|
|||
|
|
@ -4,7 +4,7 @@
|
|||
|
||||
#![feature(type_alias_impl_trait)]
|
||||
extern crate std;
|
||||
#[prelude_import]
|
||||
#[attr = PreludeImport]
|
||||
use ::std::prelude::rust_2015::*;
|
||||
|
||||
trait Animal { }
|
||||
|
|
|
|||
|
|
@ -1,5 +1,5 @@
|
|||
extern crate std;
|
||||
#[prelude_import]
|
||||
#[attr = PreludeImport]
|
||||
use ::std::prelude::rust_2015::*;
|
||||
//@ compile-flags: -Zunpretty=hir
|
||||
//@ check-fail
|
||||
|
|
|
|||
|
|
@ -1,5 +1,5 @@
|
|||
extern crate std;
|
||||
#[prelude_import]
|
||||
#[attr = PreludeImport]
|
||||
use ::std::prelude::rust_2015::*;
|
||||
//@ compile-flags: -Zunpretty=hir
|
||||
//@ check-pass
|
||||
|
|
|
|||
|
|
@ -1,5 +1,5 @@
|
|||
extern crate std;
|
||||
#[prelude_import]
|
||||
#[attr = PreludeImport]
|
||||
use ::std::prelude::rust_2015::*;
|
||||
//@ compile-flags: -Zunpretty=hir
|
||||
//@ check-pass
|
||||
|
|
|
|||
|
|
@ -1,5 +1,5 @@
|
|||
extern crate std;
|
||||
#[prelude_import]
|
||||
#[attr = PreludeImport]
|
||||
use ::std::prelude::rust_2015::*;
|
||||
//@ compile-flags: -Zunpretty=hir
|
||||
//@ check-pass
|
||||
|
|
|
|||
|
|
@ -1,5 +1,5 @@
|
|||
extern crate std;
|
||||
#[prelude_import]
|
||||
#[attr = PreludeImport]
|
||||
use std::prelude::rust_2024::*;
|
||||
//@ revisions: expanded hir
|
||||
//@[expanded]compile-flags: -Zunpretty=expanded
|
||||
|
|
|
|||
|
|
@ -31,7 +31,7 @@
|
|||
#![feature(yeet_expr)]
|
||||
#![allow(incomplete_features)]
|
||||
extern crate std;
|
||||
#[prelude_import]
|
||||
#[attr = PreludeImport]
|
||||
use std::prelude::rust_2024::*;
|
||||
|
||||
mod prelude {
|
||||
|
|
@ -46,7 +46,7 @@ mod prelude {
|
|||
}
|
||||
}
|
||||
|
||||
#[prelude_import]
|
||||
#[attr = PreludeImport]
|
||||
use self::prelude::*;
|
||||
|
||||
/// inner single-line doc comment
|
||||
|
|
|
|||
|
|
@ -1,5 +1,5 @@
|
|||
extern crate std;
|
||||
#[prelude_import]
|
||||
#[attr = PreludeImport]
|
||||
use ::std::prelude::rust_2015::*;
|
||||
//@ compile-flags: -Zunpretty=hir -Zflatten-format-args=yes
|
||||
//@ check-pass
|
||||
|
|
|
|||
|
|
@ -1,5 +1,5 @@
|
|||
extern crate std;
|
||||
#[prelude_import]
|
||||
#[attr = PreludeImport]
|
||||
use ::std::prelude::rust_2015::*;
|
||||
//@ compile-flags: -Zunpretty=hir
|
||||
//@ check-pass
|
||||
|
|
|
|||
|
|
@ -1,5 +1,5 @@
|
|||
extern crate std;
|
||||
#[prelude_import]
|
||||
#[attr = PreludeImport]
|
||||
use ::std::prelude::rust_2015::*;
|
||||
//@ compile-flags: -Zunpretty=hir
|
||||
//@ check-pass
|
||||
|
|
|
|||
|
|
@ -5,7 +5,7 @@
|
|||
#![expect(incomplete_features)]
|
||||
#![allow(dead_code)]
|
||||
extern crate std;
|
||||
#[prelude_import]
|
||||
#[attr = PreludeImport]
|
||||
use ::std::prelude::rust_2015::*;
|
||||
|
||||
use std::marker::ConstParamTy;
|
||||
|
|
|
|||
|
|
@ -9,7 +9,7 @@
|
|||
//@ edition: 2015
|
||||
#![allow(dead_code)]
|
||||
extern crate std;
|
||||
#[prelude_import]
|
||||
#[attr = PreludeImport]
|
||||
use ::std::prelude::rust_2015::*;
|
||||
|
||||
fn main() ({ } as ())
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue