@@ -22,10 +22,6 @@ pub struct Resolve {
22
22
replacements : HashMap < PackageId , PackageId > ,
23
23
/// Inverted version of `replacements`.
24
24
reverse_replacements : HashMap < PackageId , PackageId > ,
25
- /// An empty `Vec` to avoid creating a new `Vec` for every package
26
- /// that does not have any features, and to avoid using `Option` to
27
- /// simplify the API.
28
- empty_features : Vec < InternedString > ,
29
25
/// Features enabled for a given package.
30
26
features : HashMap < PackageId , Vec < InternedString > > ,
31
27
/// Checksum for each package. A SHA256 hash of the `.crate` file used to
@@ -107,7 +103,6 @@ impl Resolve {
107
103
checksums,
108
104
metadata,
109
105
unused_patches,
110
- empty_features : Vec :: new ( ) ,
111
106
reverse_replacements,
112
107
public_dependencies,
113
108
version,
@@ -264,7 +259,7 @@ unable to verify that `{0}` is the same as when the lockfile was generated
264
259
}
265
260
266
261
pub fn features ( & self , pkg : PackageId ) -> & [ InternedString ] {
267
- self . features . get ( & pkg) . unwrap_or ( & self . empty_features )
262
+ self . features . get ( & pkg) . map ( |v| & * * v ) . unwrap_or ( & [ ] )
268
263
}
269
264
270
265
/// This is only here for legacy support, it will be removed when
@@ -377,7 +372,7 @@ impl PartialEq for Resolve {
377
372
}
378
373
compare ! {
379
374
// fields to compare
380
- graph replacements reverse_replacements empty_features features
375
+ graph replacements reverse_replacements features
381
376
checksums metadata unused_patches public_dependencies summaries
382
377
|
383
378
// fields to ignore
0 commit comments