fix(tvix/eval): address various clippy lints
Change-Id: I3ea0f51475e80948adfeb5d1620c1f2665cc39bc Reviewed-on: https://cl.tvl.fyi/c/depot/+/6201 Tested-by: BuildkiteCI Reviewed-by: sterni <sternenseemann@systemli.org>
This commit is contained in:
parent
c4f73eecdc
commit
ab9407bded
6 changed files with 30 additions and 41 deletions
|
|
@ -52,11 +52,11 @@ impl AttrsRep {
|
|||
|
||||
AttrsRep::KV { name, value } => {
|
||||
if key == "name" {
|
||||
return Some(&name);
|
||||
return Some(name);
|
||||
}
|
||||
|
||||
if key == "value" {
|
||||
return Some(&value);
|
||||
return Some(value);
|
||||
}
|
||||
|
||||
None
|
||||
|
|
@ -310,21 +310,16 @@ fn attempt_optimise_kv(slice: &mut [Value]) -> Option<NixAttrs> {
|
|||
// Set an attribute on an in-construction attribute set, while
|
||||
// checking against duplicate keys.
|
||||
fn set_attr(attrs: &mut NixAttrs, key: NixString, value: Value) -> EvalResult<()> {
|
||||
let attrs = attrs.0.map_mut();
|
||||
let entry = attrs.entry(key);
|
||||
|
||||
match entry {
|
||||
std::collections::btree_map::Entry::Occupied(entry) => {
|
||||
return Err(Error::DuplicateAttrsKey {
|
||||
key: entry.key().as_str().to_string(),
|
||||
})
|
||||
}
|
||||
match attrs.0.map_mut().entry(key) {
|
||||
std::collections::btree_map::Entry::Occupied(entry) => Err(Error::DuplicateAttrsKey {
|
||||
key: entry.key().as_str().to_string(),
|
||||
}),
|
||||
|
||||
std::collections::btree_map::Entry::Vacant(entry) => {
|
||||
entry.insert(value);
|
||||
return Ok(());
|
||||
Ok(())
|
||||
}
|
||||
};
|
||||
}
|
||||
}
|
||||
|
||||
// Set a nested attribute inside of an attribute set, throwing a
|
||||
|
|
@ -345,16 +340,13 @@ fn set_nested_attr(
|
|||
return set_attr(attrs, key, value);
|
||||
}
|
||||
|
||||
let attrs = attrs.0.map_mut();
|
||||
let entry = attrs.entry(key);
|
||||
|
||||
// If there is not we go one step further down, in which case we
|
||||
// need to ensure that there either is no entry, or the existing
|
||||
// entry is a hashmap into which to insert the next value.
|
||||
//
|
||||
// If a value of a different type exists, the user specified a
|
||||
// duplicate key.
|
||||
match entry {
|
||||
match attrs.0.map_mut().entry(key) {
|
||||
// Vacant entry -> new attribute set is needed.
|
||||
std::collections::btree_map::Entry::Vacant(entry) => {
|
||||
let mut map = NixAttrs(AttrsRep::Map(BTreeMap::new()));
|
||||
|
|
|
|||
|
|
@ -33,11 +33,7 @@ pub enum Value {
|
|||
|
||||
impl Value {
|
||||
pub fn is_number(&self) -> bool {
|
||||
match self {
|
||||
Value::Integer(_) => true,
|
||||
Value::Float(_) => true,
|
||||
_ => false,
|
||||
}
|
||||
matches!(self, Value::Integer(_) | Value::Float(_))
|
||||
}
|
||||
|
||||
pub fn type_of(&self) -> &'static str {
|
||||
|
|
@ -66,7 +62,7 @@ impl Value {
|
|||
}
|
||||
}
|
||||
|
||||
pub fn as_string(self) -> EvalResult<NixString> {
|
||||
pub fn to_string(self) -> EvalResult<NixString> {
|
||||
match self {
|
||||
Value::String(s) => Ok(s),
|
||||
other => Err(Error::TypeError {
|
||||
|
|
@ -76,7 +72,7 @@ impl Value {
|
|||
}
|
||||
}
|
||||
|
||||
pub fn as_attrs(self) -> EvalResult<Rc<NixAttrs>> {
|
||||
pub fn to_attrs(self) -> EvalResult<Rc<NixAttrs>> {
|
||||
match self {
|
||||
Value::Attrs(s) => Ok(s),
|
||||
other => Err(Error::TypeError {
|
||||
|
|
@ -86,7 +82,7 @@ impl Value {
|
|||
}
|
||||
}
|
||||
|
||||
pub fn as_list(self) -> EvalResult<NixList> {
|
||||
pub fn to_list(self) -> EvalResult<NixList> {
|
||||
match self {
|
||||
Value::List(l) => Ok(l),
|
||||
other => Err(Error::TypeError {
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue