@@ -48,7 +48,7 @@ use crate::core::compiler::{CrateType, TargetInfo, apply_env_config, standard_li
4848use crate :: core:: compiler:: { DefaultExecutor , Executor , UnitInterner } ;
4949use crate :: core:: profiles:: Profiles ;
5050use crate :: core:: resolver:: features:: { self , CliFeatures , FeaturesFor } ;
51- use crate :: core:: resolver:: { HasDevUnits , Resolve } ;
51+ use crate :: core:: resolver:: { ForceAllTargets , HasDevUnits , Resolve } ;
5252use crate :: core:: { PackageId , PackageSet , SourceId , TargetKind , Workspace } ;
5353use crate :: drop_println;
5454use crate :: ops;
@@ -278,7 +278,7 @@ pub fn create_bcx<'a, 'gctx>(
278278 cli_features,
279279 & specs,
280280 has_dev_units,
281- crate :: core :: resolver :: features :: ForceAllTargets :: No ,
281+ ForceAllTargets :: No ,
282282 dry_run,
283283 ) ?;
284284 let WorkspaceResolve {
@@ -974,6 +974,10 @@ pub fn resolve_all_features(
974974 resolved_features : & features:: ResolvedFeatures ,
975975 package_set : & PackageSet < ' _ > ,
976976 package_id : PackageId ,
977+ has_dev_units : HasDevUnits ,
978+ requested_kinds : & [ CompileKind ] ,
979+ target_data : & RustcTargetData < ' _ > ,
980+ force_all_targets : ForceAllTargets ,
977981) -> HashSet < String > {
978982 let mut features: HashSet < String > = resolved_features
979983 . activated_features ( package_id, FeaturesFor :: NormalOrDev )
@@ -983,7 +987,15 @@ pub fn resolve_all_features(
983987
984988 // Include features enabled for use by dependencies so targets can also use them with the
985989 // required-features field when deciding whether to be built or skipped.
986- for ( dep_id, deps) in resolve_with_overrides. deps ( package_id) {
990+ let filtered_deps = PackageSet :: filter_deps (
991+ package_id,
992+ resolve_with_overrides,
993+ has_dev_units,
994+ requested_kinds,
995+ target_data,
996+ force_all_targets,
997+ ) ;
998+ for ( dep_id, deps) in filtered_deps {
987999 let is_proc_macro = package_set
9881000 . get_one ( dep_id)
9891001 . expect ( "packages downloaded" )
0 commit comments