refactor(tvix/value): replace static representation with SmolStr
The only uses of the static variant were for `"name"` and `"value"`, which are both small enough to fit into a SmolStr. The size of NixString accomodates `String` anyways, so we may as well inline them. Additionally smol_str is already in the dependency graph because rnix uses it, and using it for representations of identifiers is sensible. Change-Id: I9969312256d1657d69128e54c47dc7294a18ce58 Reviewed-on: https://cl.tvl.fyi/c/depot/+/6165 Tested-by: BuildkiteCI Reviewed-by: sterni <sternenseemann@systemli.org> Reviewed-by: grfn <grfn@gws.fyi>
This commit is contained in:
parent
f331874aeb
commit
999b9c7a13
5 changed files with 15 additions and 12 deletions
|
|
@ -38,8 +38,8 @@ impl AttrsRep {
|
|||
|
||||
AttrsRep::KV { name, value } => {
|
||||
*self = AttrsRep::Map(BTreeMap::from([
|
||||
("name".into(), std::mem::replace(name, Value::Blackhole)),
|
||||
("value".into(), std::mem::replace(value, Value::Blackhole)),
|
||||
(NixString::NAME, std::mem::replace(name, Value::Blackhole)),
|
||||
(NixString::VALUE, std::mem::replace(value, Value::Blackhole)),
|
||||
]));
|
||||
self.map_mut()
|
||||
}
|
||||
|
|
@ -62,7 +62,7 @@ impl AttrsRep {
|
|||
None
|
||||
}
|
||||
|
||||
AttrsRep::Map(map) => map.get(&key.to_string().into()),
|
||||
AttrsRep::Map(map) => map.get(&key.into()),
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue