@@ -19,16 +19,12 @@ pub fn inject(
19
19
let edition = sess. psess . edition ;
20
20
21
21
// the first name in this list is the crate name of the crate with the prelude
22
- let names : & [ Symbol ] = if attr:: contains_name ( pre_configured_attrs, sym:: no_core) {
22
+ let name : Symbol = if attr:: contains_name ( pre_configured_attrs, sym:: no_core) {
23
23
return 0 ;
24
24
} else if attr:: contains_name ( pre_configured_attrs, sym:: no_std) {
25
- if attr:: contains_name ( pre_configured_attrs, sym:: compiler_builtins) {
26
- & [ sym:: core]
27
- } else {
28
- & [ sym:: core, sym:: compiler_builtins]
29
- }
25
+ sym:: core
30
26
} else {
31
- & [ sym:: std]
27
+ sym:: std
32
28
} ;
33
29
34
30
let expn_id = resolver. expansion_for_ast_pass (
@@ -44,37 +40,14 @@ pub fn inject(
44
40
let cx = ExtCtxt :: new ( sess, ecfg, resolver, None ) ;
45
41
46
42
// .rev() to preserve ordering above in combination with insert(0, ...)
47
- for & name in names. iter ( ) . rev ( ) {
48
- let ident_span = if edition >= Edition2018 { span } else { call_site } ;
49
- let item = /* if name == sym::compiler_builtins {
50
- // compiler_builtins is a private implementation detail. We only
51
- // need to insert it into the crate graph for linking and should not
52
- // expose any of its public API.
53
- //
54
- // FIXME(#113634) We should inject this during post-processing like
55
- // we do for the panic runtime, profiler runtime, etc.
56
- //
57
- // See also `is_private_dep` within `rustc_metadata`.
58
- cx.item(
59
- span,
60
- Ident::new(kw::Underscore, ident_span),
61
- thin_vec![],
62
- ast::ItemKind::ExternCrate(Some(name)),
63
- )
64
- } else */ {
65
- cx. item (
66
- span,
67
- Ident :: new ( name, ident_span) ,
68
- thin_vec ! [ cx. attr_word( sym:: macro_use, span) ] ,
69
- ast:: ItemKind :: ExternCrate ( None ) ,
70
- )
71
- } ;
72
- krate. items . insert ( 0 , item) ;
73
- }
74
-
75
- // The crates have been injected, the assumption is that the first one is
76
- // the one with the prelude.
77
- let name = names[ 0 ] ;
43
+ let ident_span = if edition >= Edition2018 { span } else { call_site } ;
44
+ let item = cx. item (
45
+ span,
46
+ Ident :: new ( name, ident_span) ,
47
+ thin_vec ! [ cx. attr_word( sym:: macro_use, span) ] ,
48
+ ast:: ItemKind :: ExternCrate ( None ) ,
49
+ ) ;
50
+ krate. items . insert ( 0 , item) ;
78
51
79
52
let root = ( edition == Edition2015 ) . then_some ( kw:: PathRoot ) ;
80
53
0 commit comments