@@ -78,6 +78,7 @@ pub enum ProjectWorkspaceKind {
78
78
rustc : Result < Box < ( CargoWorkspace , WorkspaceBuildScripts ) > , Option < String > > ,
79
79
/// Environment variables set in the `.cargo/config` file.
80
80
cargo_config_extra_env : FxHashMap < String , String > ,
81
+ set_test : bool ,
81
82
} ,
82
83
/// Project workspace was specified using a `rust-project.json` file.
83
84
Json ( ProjectJson ) ,
@@ -98,6 +99,7 @@ pub enum ProjectWorkspaceKind {
98
99
cargo : Option < ( CargoWorkspace , WorkspaceBuildScripts , Option < Arc < anyhow:: Error > > ) > ,
99
100
/// Environment variables set in the `.cargo/config` file.
100
101
cargo_config_extra_env : FxHashMap < String , String > ,
102
+ set_test : bool ,
101
103
} ,
102
104
}
103
105
@@ -112,6 +114,7 @@ impl fmt::Debug for ProjectWorkspace {
112
114
build_scripts,
113
115
rustc,
114
116
cargo_config_extra_env,
117
+ set_test,
115
118
} => f
116
119
. debug_struct ( "Cargo" )
117
120
. field ( "root" , & cargo. workspace_root ( ) . file_name ( ) )
@@ -126,6 +129,7 @@ impl fmt::Debug for ProjectWorkspace {
126
129
. field ( "toolchain" , & toolchain)
127
130
. field ( "data_layout" , & target_layout)
128
131
. field ( "cargo_config_extra_env" , & cargo_config_extra_env)
132
+ . field ( "set_test" , set_test)
129
133
. field ( "build_scripts" , & build_scripts. error ( ) . unwrap_or ( "ok" ) )
130
134
. finish ( ) ,
131
135
ProjectWorkspaceKind :: Json ( project) => {
@@ -137,12 +141,14 @@ impl fmt::Debug for ProjectWorkspace {
137
141
. field ( "toolchain" , & toolchain)
138
142
. field ( "data_layout" , & target_layout)
139
143
. field ( "n_cfg_overrides" , & cfg_overrides. len ( ) ) ;
144
+
140
145
debug_struct. finish ( )
141
146
}
142
147
ProjectWorkspaceKind :: DetachedFile {
143
148
file,
144
149
cargo : cargo_script,
145
150
cargo_config_extra_env,
151
+ set_test,
146
152
} => f
147
153
. debug_struct ( "DetachedFiles" )
148
154
. field ( "file" , & file)
@@ -154,6 +160,7 @@ impl fmt::Debug for ProjectWorkspace {
154
160
. field ( "data_layout" , & target_layout)
155
161
. field ( "n_cfg_overrides" , & cfg_overrides. len ( ) )
156
162
. field ( "cargo_config_extra_env" , & cargo_config_extra_env)
163
+ . field ( "set_test" , set_test)
157
164
. finish ( ) ,
158
165
}
159
166
}
@@ -329,6 +336,7 @@ impl ProjectWorkspace {
329
336
rustc,
330
337
cargo_config_extra_env,
331
338
error : error. map ( Arc :: new) ,
339
+ set_test : config. set_test ,
332
340
} ,
333
341
sysroot,
334
342
rustc_cfg,
@@ -423,6 +431,7 @@ impl ProjectWorkspace {
423
431
file : detached_file. to_owned ( ) ,
424
432
cargo : cargo_script,
425
433
cargo_config_extra_env,
434
+ set_test : config. set_test ,
426
435
} ,
427
436
sysroot,
428
437
rustc_cfg,
@@ -609,6 +618,7 @@ impl ProjectWorkspace {
609
618
build_scripts,
610
619
cargo_config_extra_env : _,
611
620
error : _,
621
+ set_test : _,
612
622
} => {
613
623
cargo
614
624
. packages ( )
@@ -728,7 +738,6 @@ impl ProjectWorkspace {
728
738
& self ,
729
739
load : FileLoader < ' _ > ,
730
740
extra_env : & FxHashMap < String , String > ,
731
- set_test : bool ,
732
741
) -> ( CrateGraph , ProcMacroPaths ) {
733
742
let _p = tracing:: info_span!( "ProjectWorkspace::to_crate_graph" ) . entered ( ) ;
734
743
@@ -742,7 +751,6 @@ impl ProjectWorkspace {
742
751
sysroot,
743
752
extra_env,
744
753
cfg_overrides,
745
- set_test,
746
754
) ,
747
755
sysroot,
748
756
) ,
@@ -752,6 +760,7 @@ impl ProjectWorkspace {
752
760
build_scripts,
753
761
cargo_config_extra_env : _,
754
762
error : _,
763
+ set_test,
755
764
} => (
756
765
cargo_to_crate_graph (
757
766
load,
@@ -761,11 +770,11 @@ impl ProjectWorkspace {
761
770
rustc_cfg. clone ( ) ,
762
771
cfg_overrides,
763
772
build_scripts,
764
- set_test,
773
+ * set_test,
765
774
) ,
766
775
sysroot,
767
776
) ,
768
- ProjectWorkspaceKind :: DetachedFile { file, cargo : cargo_script, .. } => (
777
+ ProjectWorkspaceKind :: DetachedFile { file, cargo : cargo_script, set_test , .. } => (
769
778
if let Some ( ( cargo, build_scripts, _) ) = cargo_script {
770
779
cargo_to_crate_graph (
771
780
& mut |path| load ( path) ,
@@ -775,7 +784,7 @@ impl ProjectWorkspace {
775
784
rustc_cfg. clone ( ) ,
776
785
cfg_overrides,
777
786
build_scripts,
778
- set_test,
787
+ * set_test,
779
788
)
780
789
} else {
781
790
detached_file_to_crate_graph (
@@ -784,7 +793,7 @@ impl ProjectWorkspace {
784
793
file,
785
794
sysroot,
786
795
cfg_overrides,
787
- set_test,
796
+ * set_test,
788
797
)
789
798
} ,
790
799
sysroot,
@@ -818,13 +827,15 @@ impl ProjectWorkspace {
818
827
cargo_config_extra_env,
819
828
build_scripts : _,
820
829
error : _,
830
+ set_test : _,
821
831
} ,
822
832
ProjectWorkspaceKind :: Cargo {
823
833
cargo : o_cargo,
824
834
rustc : o_rustc,
825
835
cargo_config_extra_env : o_cargo_config_extra_env,
826
836
build_scripts : _,
827
837
error : _,
838
+ set_test : _,
828
839
} ,
829
840
) => {
830
841
cargo == o_cargo
@@ -839,11 +850,13 @@ impl ProjectWorkspace {
839
850
file,
840
851
cargo : Some ( ( cargo_script, _, _) ) ,
841
852
cargo_config_extra_env,
853
+ set_test : _,
842
854
} ,
843
855
ProjectWorkspaceKind :: DetachedFile {
844
856
file : o_file,
845
857
cargo : Some ( ( o_cargo_script, _, _) ) ,
846
858
cargo_config_extra_env : o_cargo_config_extra_env,
859
+ set_test : _,
847
860
} ,
848
861
) => {
849
862
file == o_file
@@ -875,12 +888,11 @@ fn project_json_to_crate_graph(
875
888
sysroot : & Sysroot ,
876
889
extra_env : & FxHashMap < String , String > ,
877
890
override_cfg : & CfgOverrides ,
878
- set_test : bool ,
879
891
) -> ( CrateGraph , ProcMacroPaths ) {
880
892
let mut res = ( CrateGraph :: default ( ) , ProcMacroPaths :: default ( ) ) ;
881
893
let ( crate_graph, proc_macros) = & mut res;
882
894
let ( public_deps, libproc_macro) =
883
- sysroot_to_crate_graph ( crate_graph, sysroot, rustc_cfg. clone ( ) , load, set_test ) ;
895
+ sysroot_to_crate_graph ( crate_graph, sysroot, rustc_cfg. clone ( ) , load) ;
884
896
885
897
let r_a_cfg_flag = CfgAtom :: Flag ( sym:: rust_analyzer. clone ( ) ) ;
886
898
let mut cfg_cache: FxHashMap < & str , Vec < CfgAtom > > = FxHashMap :: default ( ) ;
@@ -1000,7 +1012,7 @@ fn cargo_to_crate_graph(
1000
1012
let crate_graph = & mut res. 0 ;
1001
1013
let proc_macros = & mut res. 1 ;
1002
1014
let ( public_deps, libproc_macro) =
1003
- sysroot_to_crate_graph ( crate_graph, sysroot, rustc_cfg. clone ( ) , load, set_test ) ;
1015
+ sysroot_to_crate_graph ( crate_graph, sysroot, rustc_cfg. clone ( ) , load) ;
1004
1016
1005
1017
let cfg_options = CfgOptions :: from_iter ( rustc_cfg) ;
1006
1018
@@ -1187,7 +1199,7 @@ fn detached_file_to_crate_graph(
1187
1199
let _p = tracing:: info_span!( "detached_file_to_crate_graph" ) . entered ( ) ;
1188
1200
let mut crate_graph = CrateGraph :: default ( ) ;
1189
1201
let ( public_deps, _libproc_macro) =
1190
- sysroot_to_crate_graph ( & mut crate_graph, sysroot, rustc_cfg. clone ( ) , load, set_test ) ;
1202
+ sysroot_to_crate_graph ( & mut crate_graph, sysroot, rustc_cfg. clone ( ) , load) ;
1191
1203
1192
1204
let mut cfg_options = CfgOptions :: from_iter ( rustc_cfg) ;
1193
1205
if set_test {
@@ -1416,7 +1428,6 @@ fn sysroot_to_crate_graph(
1416
1428
sysroot : & Sysroot ,
1417
1429
rustc_cfg : Vec < CfgAtom > ,
1418
1430
load : FileLoader < ' _ > ,
1419
- set_test : bool ,
1420
1431
) -> ( SysrootPublicDeps , Option < CrateId > ) {
1421
1432
let _p = tracing:: info_span!( "sysroot_to_crate_graph" ) . entered ( ) ;
1422
1433
match sysroot. mode ( ) {
@@ -1439,7 +1450,7 @@ fn sysroot_to_crate_graph(
1439
1450
..Default :: default ( )
1440
1451
} ,
1441
1452
& WorkspaceBuildScripts :: default ( ) ,
1442
- set_test ,
1453
+ false ,
1443
1454
) ;
1444
1455
1445
1456
let mut pub_deps = vec ! [ ] ;
0 commit comments