clippy: fix dead-code and question-mark warnings
All checks were successful
dev release / build (push) Successful in 2m0s

- meta.rs/tour.rs/troubleshoot.rs: annotate content-schema fields that
  real TOML content already populates but no UI reads yet, instead of
  dropping them
- hyprland.rs: drop Monitor's x/y/width/height, genuinely unused
  anywhere and not part of any authored content schema
- tour/mod.rs: collapse a let-else into ? in the Option-returning
  on_tour_event closure

(cherry picked from commit 4497eca4661112f808d33ef477265d39e0e0a601)
This commit is contained in:
Breadway 2026-08-06 08:51:24 +08:00
parent 03517d9b0f
commit e27c497df8
5 changed files with 19 additions and 5 deletions

View file

@ -12,14 +12,23 @@ pub enum Difficulty {
#[derive(serde::Deserialize, Clone, Default)] #[derive(serde::Deserialize, Clone, Default)]
pub struct GuideMeta { pub struct GuideMeta {
pub title: String, pub title: String,
/// Not read by any UI yet — reserved for a future difficulty badge.
/// Real content already sets it, so kept rather than dropped.
#[allow(dead_code)]
#[serde(default)] #[serde(default)]
pub difficulty: Difficulty, pub difficulty: Difficulty,
#[serde(default)] #[serde(default)]
pub tags: Vec<String>, pub tags: Vec<String>,
/// Guide dir-names in the same or another category. Unresolvable entries /// Guide dir-names in the same or another category. Unresolvable entries
/// are silently dropped when rendering "related guides" — never a crash. /// are silently dropped when rendering "related guides" — never a crash.
/// Not read by any UI yet — the "related guides" render path doesn't
/// exist. Real content already sets it, so kept rather than dropped.
#[allow(dead_code)]
#[serde(default)] #[serde(default)]
pub related: Vec<String>, pub related: Vec<String>,
/// Not read by any UI yet — reserved for a future "N min read" hint.
/// Real content already sets it, so kept rather than dropped.
#[allow(dead_code)]
#[serde(default)] #[serde(default)]
pub estimated_minutes: u32, pub estimated_minutes: u32,
/// Overrides the parent directory name as the guide's category, if set. /// Overrides the parent directory name as the guide's category, if set.

View file

@ -29,6 +29,10 @@ pub enum Success {
#[derive(serde::Deserialize, Clone)] #[derive(serde::Deserialize, Clone)]
pub struct Step { pub struct Step {
/// Not read by any Rust code yet — steps are matched by index, not id.
/// Real tour content already sets it (content authors use it to keep
/// track of steps), so kept rather than dropped.
#[allow(dead_code)]
pub id: String, pub id: String,
pub title: String, pub title: String,
pub body: String, pub body: String,

View file

@ -15,6 +15,11 @@ pub struct SymptomOption {
pub struct Fix { pub struct Fix {
pub description: String, pub description: String,
pub command: String, pub command: String,
/// Not read by `ui::troubleshoot_wizard` yet — the "Run fix" button
/// currently executes unconditionally regardless of this flag. Real
/// symptom content already sets it, so kept rather than dropped; the
/// wizard should gate on it before this is treated as safe.
#[allow(dead_code)]
#[serde(default)] #[serde(default)]
pub requires_confirm: bool, pub requires_confirm: bool,
} }

View file

@ -28,10 +28,6 @@ pub struct Client {
pub struct Monitor { pub struct Monitor {
pub id: i32, pub id: i32,
pub name: String, pub name: String,
pub x: i32,
pub y: i32,
pub width: i32,
pub height: i32,
pub focused: bool, pub focused: bool,
} }

View file

@ -110,7 +110,7 @@ pub fn self_heal() {
pub fn on_tour_event(id: &str) { pub fn on_tour_event(id: &str) {
let hit = STATE.with(|cell| { let hit = STATE.with(|cell| {
let mut borrow = cell.borrow_mut(); let mut borrow = cell.borrow_mut();
let Some(state) = borrow.as_mut() else { return None }; let state = borrow.as_mut()?;
// Only a *visibly* confirmed step blocks a re-fire. `confirmed` gets // Only a *visibly* confirmed step blocks a re-fire. `confirmed` gets
// set below, before `render_step` runs, so that render actually // set below, before `render_step` runs, so that render actually
// paints the "done" state instead of the stale pre-confirmation one // paints the "done" state instead of the stale pre-confirmation one