linsight_core/error.rs
1// SPDX-FileCopyrightText: 2026 VisorCraft LLC
2// SPDX-License-Identifier: GPL-3.0-only
3
4use thiserror::Error;
5
6pub type CoreResult<T> = Result<T, CoreError>;
7
8/// Library-wide error type.
9#[derive(Debug, Error)]
10pub enum CoreError {
11 #[error("invalid sensor id: {0}")]
12 InvalidSensorId(String),
13
14 #[error("i/o: {0}")]
15 Io(String),
16}
17
18#[cfg(test)]
19mod tests {
20 use super::*;
21
22 #[test]
23 fn invalid_sensor_id_display() {
24 let e = CoreError::InvalidSensorId("oops".into());
25 assert_eq!(e.to_string(), "invalid sensor id: oops");
26 }
27}