This repository was archived by the owner on May 28, 2025. It is now read-only.
File tree Expand file tree Collapse file tree 3 files changed +7
-1
lines changed
compiler/rustc_expand/src Expand file tree Collapse file tree 3 files changed +7
-1
lines changed Original file line number Diff line number Diff line change @@ -426,6 +426,10 @@ impl server::Types for Rustc<'_, '_> {
426426}
427427
428428impl server:: FreeFunctions for Rustc < ' _ , ' _ > {
429+ fn injected_env_var ( & mut self , var : & str ) -> Option < String > {
430+ self . ecx . sess . opts . logical_env . get ( var) . cloned ( )
431+ }
432+
429433 fn track_env_var ( & mut self , var : & str , value : Option < & str > ) {
430434 self . sess ( )
431435 . env_depinfo
Original file line number Diff line number Diff line change @@ -55,6 +55,7 @@ macro_rules! with_api {
5555 $m! {
5656 FreeFunctions {
5757 fn drop( $self: $S:: FreeFunctions ) ;
58+ fn injected_env_var( var: & str ) -> Option <String >;
5859 fn track_env_var( var: & str , value: Option <& str >) ;
5960 fn track_path( path: & str ) ;
6061 fn literal_from_str( s: & str ) -> Result <Literal <$S:: Span , $S:: Symbol >, ( ) >;
Original file line number Diff line number Diff line change @@ -1503,7 +1503,8 @@ pub mod tracked_env {
15031503 #[ unstable( feature = "proc_macro_tracked_env" , issue = "99515" ) ]
15041504 pub fn var < K : AsRef < OsStr > + AsRef < str > > ( key : K ) -> Result < String , VarError > {
15051505 let key: & str = key. as_ref ( ) ;
1506- let value = env:: var ( key) ;
1506+ let value = crate :: bridge:: client:: FreeFunctions :: injected_env_var ( key)
1507+ . map_or_else ( || env:: var ( key) , Ok ) ;
15071508 crate :: bridge:: client:: FreeFunctions :: track_env_var ( key, value. as_deref ( ) . ok ( ) ) ;
15081509 value
15091510 }
You can’t perform that action at this time.
0 commit comments