@@ -84,24 +84,24 @@ impl MakeArtifact {
84
84
. remove_batch_file ( & build_info. build_dependencies ) ;
85
85
self . make_failed_module . remove ( module_identifier) ;
86
86
87
- // clean incoming & all_dependencies(outgoing) factorize info
87
+ // clean incoming and all_dependencies(outgoing) factorize info
88
88
let mgm = mg
89
89
. module_graph_module_by_identifier ( module_identifier)
90
90
. expect ( "should have mgm" ) ;
91
- for dep_id in mgm
91
+ let dep_ids : Vec < _ > = mgm
92
92
. all_dependencies
93
93
. iter ( )
94
94
. chain ( mgm. incoming_connections ( ) )
95
- {
96
- // if connection does not exist means the dependency has been revoked,
97
- // just skip it
98
- if mg. connection_by_dependency_id ( dep_id) . is_none ( ) {
95
+ . copied ( )
96
+ . collect ( ) ;
97
+ for dep_id in dep_ids {
98
+ self . make_failed_dependencies . remove ( & dep_id) ;
99
+ let Some ( dep) = mg. dependency_by_id_mut ( & dep_id) else {
100
+ // dependency may be revoked by revoke_dependencies
99
101
continue ;
100
- }
101
-
102
- self . make_failed_dependencies . remove ( dep_id) ;
103
- let dep = mg. dependency_by_id ( dep_id) . expect ( "should have dependency" ) ;
104
- let Some ( info) = FactorizeInfo :: get_from ( dep) else {
102
+ } ;
103
+ // take info and write a default value to it.
104
+ let Some ( info) = FactorizeInfo :: take_factorize_info ( dep) else {
105
105
continue ;
106
106
} ;
107
107
self
@@ -122,15 +122,14 @@ impl MakeArtifact {
122
122
123
123
pub fn revoke_dependency ( & mut self , dep_id : & DependencyId , force : bool ) -> Vec < BuildDependency > {
124
124
let mut mg = ModuleGraph :: new ( [ None , None ] , Some ( & mut self . module_graph_partial ) ) ;
125
- // if connection does not exist means the dependency has been revoked,
126
- // just skip it
127
- if mg. connection_by_dependency_id ( dep_id) . is_none ( ) {
128
- return vec ! [ ] ;
129
- }
130
125
131
126
self . make_failed_dependencies . remove ( dep_id) ;
132
- let dep = mg. dependency_by_id ( dep_id) . expect ( "should have dependency" ) ;
133
- let mut revoke_dep_ids = if let Some ( info) = FactorizeInfo :: get_from ( dep) {
127
+ let Some ( dep) = mg. dependency_by_id_mut ( dep_id) else {
128
+ // dependency may be revoked by revoke_module
129
+ return vec ! [ ] ;
130
+ } ;
131
+ // take info and write a default value to it.
132
+ let mut revoke_dep_ids = if let Some ( info) = FactorizeInfo :: take_factorize_info ( dep) {
134
133
self
135
134
. file_dependencies
136
135
. remove_batch_file ( info. file_dependencies ( ) ) ;
0 commit comments