Skip to content

Commit 83829d2

Browse files
committed
config: remove default for Expression
1 parent 113753a commit 83829d2

1 file changed

Lines changed: 25 additions & 8 deletions

File tree

watt/config.rs

Lines changed: 25 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -392,12 +392,6 @@ pub enum Expression {
392392
},
393393
}
394394

395-
impl Default for Expression {
396-
fn default() -> Self {
397-
Self::Boolean(true)
398-
}
399-
}
400-
401395
impl Expression {
402396
pub fn as_number(&self) -> anyhow::Result<f64> {
403397
let Self::Number(number) = self else {
@@ -577,12 +571,24 @@ impl Expression {
577571
}
578572
}
579573

580-
#[derive(Serialize, Deserialize, Default, Debug, Clone, PartialEq)]
574+
fn expression_true() -> Expression {
575+
Expression::Boolean(true)
576+
}
577+
578+
fn expression_is_true(expression: &Expression) -> bool {
579+
expression == &expression_true()
580+
}
581+
582+
#[derive(Serialize, Deserialize, Debug, Clone, PartialEq)]
581583
#[serde(deny_unknown_fields, rename_all = "kebab-case")]
582584
pub struct Rule {
583585
pub priority: u16,
584586

585-
#[serde(default, rename = "if", skip_serializing_if = "is_default")]
587+
#[serde(
588+
default = "expression_true",
589+
rename = "if",
590+
skip_serializing_if = "expression_is_true"
591+
)]
586592
pub condition: Expression,
587593

588594
#[serde(default, skip_serializing_if = "is_default")]
@@ -591,6 +597,17 @@ pub struct Rule {
591597
pub power: PowerDelta,
592598
}
593599

600+
impl Default for Rule {
601+
fn default() -> Self {
602+
Self {
603+
priority: u16::default(),
604+
condition: expression_true(),
605+
cpu: CpuDelta::default(),
606+
power: PowerDelta::default(),
607+
}
608+
}
609+
}
610+
594611
#[derive(Serialize, Deserialize, Default, Debug, Clone, PartialEq)]
595612
#[serde(default, rename_all = "kebab-case")]
596613
pub struct DaemonConfig {

0 commit comments

Comments
 (0)