@@ -145,22 +145,6 @@ impl<'gctx> SourceConfigMap<'gctx> {
145
145
self . gctx
146
146
}
147
147
148
- fn load_and_overlay (
149
- & self ,
150
- id : SourceId ,
151
- yanked_whitelist : & HashSet < PackageId > ,
152
- ) -> CargoResult < Box < dyn Source + ' gctx > > {
153
- let src = id. load ( self . gctx , yanked_whitelist) ?;
154
- if let Some ( overlay_id) = self . overlays . get ( & id) {
155
- let overlay = overlay_id. load ( self . gctx ( ) , yanked_whitelist) ?;
156
- Ok ( Box :: new ( DependencyConfusionThreatOverlaySource :: new (
157
- overlay, src,
158
- ) ) )
159
- } else {
160
- Ok ( src)
161
- }
162
- }
163
-
164
148
/// Gets the [`Source`] for a given [`SourceId`].
165
149
///
166
150
/// * `yanked_whitelist` --- Packages allowed to be used, even if they are yanked.
@@ -172,7 +156,7 @@ impl<'gctx> SourceConfigMap<'gctx> {
172
156
debug ! ( "loading: {}" , id) ;
173
157
174
158
let Some ( mut name) = self . id2name . get ( & id) else {
175
- return self . load_and_overlay ( id, yanked_whitelist) ;
159
+ return self . load_unreplaced ( id, yanked_whitelist) ;
176
160
} ;
177
161
let mut cfg_loc = "" ;
178
162
let orig_name = name;
@@ -197,7 +181,7 @@ impl<'gctx> SourceConfigMap<'gctx> {
197
181
name = s;
198
182
cfg_loc = c;
199
183
}
200
- None if id == cfg. id => return self . load_and_overlay ( id, yanked_whitelist) ,
184
+ None if id == cfg. id => return self . load_unreplaced ( id, yanked_whitelist) ,
201
185
None => {
202
186
break cfg. id . with_precise_from ( id) ;
203
187
}
@@ -214,7 +198,7 @@ impl<'gctx> SourceConfigMap<'gctx> {
214
198
}
215
199
} ;
216
200
217
- let new_src = self . load_and_overlay (
201
+ let new_src = self . load_unreplaced (
218
202
new_id,
219
203
& yanked_whitelist
220
204
. iter ( )
@@ -251,6 +235,23 @@ restore the source replacement configuration to continue the build
251
235
Ok ( Box :: new ( ReplacedSource :: new ( id, new_id, new_src) ) )
252
236
}
253
237
238
+ /// Gets the [`Source`] for a given [`SourceId`] without performing any source replacement.
239
+ fn load_unreplaced (
240
+ & self ,
241
+ id : SourceId ,
242
+ yanked_whitelist : & HashSet < PackageId > ,
243
+ ) -> CargoResult < Box < dyn Source + ' gctx > > {
244
+ let src = id. load ( self . gctx , yanked_whitelist) ?;
245
+ if let Some ( overlay_id) = self . overlays . get ( & id) {
246
+ let overlay = overlay_id. load ( self . gctx ( ) , yanked_whitelist) ?;
247
+ Ok ( Box :: new ( DependencyConfusionThreatOverlaySource :: new (
248
+ overlay, src,
249
+ ) ) )
250
+ } else {
251
+ Ok ( src)
252
+ }
253
+ }
254
+
254
255
/// Adds a source config with an associated name.
255
256
fn add ( & mut self , name : & str , cfg : SourceConfig ) -> CargoResult < ( ) > {
256
257
if let Some ( old_name) = self . id2name . insert ( cfg. id , name. to_string ( ) ) {
0 commit comments