@@ -91,7 +91,10 @@ fn delete_dirty_work_product(sess: &Session, swp: SerializedWorkProduct) {
91
91
work_product:: delete_workproduct_files ( sess, & swp. work_product ) ;
92
92
}
93
93
94
- fn load_dep_graph ( sess : & Session ) -> LoadResult < ( Arc < SerializedDepGraph > , WorkProductMap ) > {
94
+ fn load_dep_graph (
95
+ sess : & Session ,
96
+ deps : & DepsType ,
97
+ ) -> LoadResult < ( Arc < SerializedDepGraph > , WorkProductMap ) > {
95
98
let prof = sess. prof . clone ( ) ;
96
99
97
100
if sess. opts . incremental . is_none ( ) {
@@ -171,7 +174,7 @@ fn load_dep_graph(sess: &Session) -> LoadResult<(Arc<SerializedDepGraph>, WorkPr
171
174
return LoadResult :: DataOutOfDate ;
172
175
}
173
176
174
- let dep_graph = SerializedDepGraph :: decode :: < DepsType > ( & mut decoder) ;
177
+ let dep_graph = SerializedDepGraph :: decode :: < DepsType > ( & mut decoder, deps ) ;
175
178
176
179
LoadResult :: Ok { data : ( dep_graph, prev_work_products) }
177
180
}
@@ -205,11 +208,11 @@ pub fn load_query_result_cache(sess: &Session) -> Option<OnDiskCache> {
205
208
206
209
/// Setups the dependency graph by loading an existing graph from disk and set up streaming of a
207
210
/// new graph to an incremental session directory.
208
- pub fn setup_dep_graph ( sess : & Session , crate_name : Symbol ) -> DepGraph {
211
+ pub fn setup_dep_graph ( sess : & Session , crate_name : Symbol , deps : & DepsType ) -> DepGraph {
209
212
// `load_dep_graph` can only be called after `prepare_session_directory`.
210
213
prepare_session_directory ( sess, crate_name) ;
211
214
212
- let res = sess. opts . build_dep_graph ( ) . then ( || load_dep_graph ( sess) ) ;
215
+ let res = sess. opts . build_dep_graph ( ) . then ( || load_dep_graph ( sess, deps ) ) ;
213
216
214
217
if sess. opts . incremental . is_some ( ) {
215
218
sess. time ( "incr_comp_garbage_collect_session_directories" , || {
0 commit comments