// type_errors.sy — This should trigger type checker errors

// ERROR: state field in non-temporal struct
struct BadStruct {
    state x: Float,
    y: Float,
}

// ERROR: temporal struct without evolve
temporal struct Orphan {
    state value: Float = 0.0,
}

// This is fine — temporal with evolve
temporal struct Good {
    state value: Float = 0.0,
}

impl Evolve for Good {
    fn evolve(&mut self, dt: Duration) {
        self.value += 0.01
    }
}

fn main() {
    let x = 42
}
