@@ -45,7 +45,7 @@ use crate::interface::Compiler;
4545use crate :: { errors, limits, proc_macro_decls, util} ;
4646
4747pub fn parse < ' a > ( sess : & ' a Session ) -> ast:: Crate {
48- let krate = sess
48+ let mut krate = sess
4949 . time ( "parse_crate" , || {
5050 let mut parser = unwrap_or_emit_fatal ( match & sess. io . input {
5151 Input :: File ( file) => new_parser_from_file ( & sess. psess , file, None ) ,
@@ -64,6 +64,12 @@ pub fn parse<'a>(sess: &'a Session) -> ast::Crate {
6464 input_stats:: print_ast_stats ( & krate, "PRE EXPANSION AST STATS" , "ast-stats-1" ) ;
6565 }
6666
67+ rustc_builtin_macros:: cmdline_attrs:: inject (
68+ & mut krate,
69+ & sess. psess ,
70+ & sess. opts . unstable_opts . crate_attr ,
71+ ) ;
72+
6773 krate
6874}
6975
@@ -805,17 +811,11 @@ pub static DEFAULT_QUERY_PROVIDERS: LazyLock<Providers> = LazyLock::new(|| {
805811
806812pub fn create_and_enter_global_ctxt < T , F : for < ' tcx > FnOnce ( TyCtxt < ' tcx > ) -> T > (
807813 compiler : & Compiler ,
808- mut krate : rustc_ast:: Crate ,
814+ krate : rustc_ast:: Crate ,
809815 f : F ,
810816) -> T {
811817 let sess = & compiler. sess ;
812818
813- rustc_builtin_macros:: cmdline_attrs:: inject (
814- & mut krate,
815- & sess. psess ,
816- & sess. opts . unstable_opts . crate_attr ,
817- ) ;
818-
819819 let pre_configured_attrs = rustc_expand:: config:: pre_configure_attrs ( sess, & krate. attrs ) ;
820820
821821 let crate_name = get_crate_name ( sess, & pre_configured_attrs) ;
0 commit comments