summaryrefslogtreecommitdiff
path: root/src/eval/value.rs
diff options
context:
space:
mode:
authorMarek Barvíř <barvirm@gmail.com>2023-03-28 09:38:01 +0200
committerGitHub <noreply@github.com>2023-03-28 09:38:01 +0200
commit213f31c5d71b3a5676ec8cce58204b1ac7f2cdea (patch)
treebb0730bbc768f80eb3995b3a55d12a0f62ab3ee8 /src/eval/value.rs
parentdfbd3503d9a03215238ade30726651b09d6fab2d (diff)
Fix basic lints (cargo clippy) (#383)
Diffstat (limited to 'src/eval/value.rs')
-rw-r--r--src/eval/value.rs17
1 files changed, 6 insertions, 11 deletions
diff --git a/src/eval/value.rs b/src/eval/value.rs
index bf1dd18a..517cadc5 100644
--- a/src/eval/value.rs
+++ b/src/eval/value.rs
@@ -17,9 +17,10 @@ use crate::model::Styles;
use crate::syntax::{ast, Span};
/// A computational value.
-#[derive(Clone)]
+#[derive(Clone, Default)]
pub enum Value {
/// The value that indicates the absence of a meaningful value.
+ #[default]
None,
/// A value that indicates some smart default behaviour.
Auto,
@@ -122,10 +123,10 @@ impl Value {
/// Try to access a field on the value.
pub fn field(&self, field: &str) -> StrResult<Value> {
match self {
- Self::Symbol(symbol) => symbol.clone().modified(&field).map(Self::Symbol),
- Self::Dict(dict) => dict.at(&field).cloned(),
- Self::Content(content) => content.at(&field),
- Self::Module(module) => module.get(&field).cloned(),
+ Self::Symbol(symbol) => symbol.clone().modified(field).map(Self::Symbol),
+ Self::Dict(dict) => dict.at(field).cloned(),
+ Self::Content(content) => content.at(field),
+ Self::Module(module) => module.get(field).cloned(),
v => Err(eco_format!("cannot access fields on type {}", v.type_name())),
}
}
@@ -168,12 +169,6 @@ impl Value {
}
}
-impl Default for Value {
- fn default() -> Self {
- Value::None
- }
-}
-
impl Debug for Value {
fn fmt(&self, f: &mut Formatter) -> fmt::Result {
match self {