Coverage for lintro / utils / environment / rust_info.py: 80%
15 statements
« prev ^ index » next coverage.py v7.13.0, created at 2026-04-03 18:53 +0000
« prev ^ index » next coverage.py v7.13.0, created at 2026-04-03 18:53 +0000
1"""Rust runtime information."""
3from __future__ import annotations
5from dataclasses import dataclass
8@dataclass
9class RustInfo:
10 """Rust runtime information."""
12 rustc_version: str | None
13 cargo_version: str | None
14 rustfmt_version: str | None
15 clippy_version: str | None
17 @property
18 def section_title(self) -> str:
19 """Return the section title for display."""
20 return "Rust"
22 def to_display_rows(self) -> list[tuple[str, str]]:
23 """Return label-value pairs for rendering."""
24 return [
25 ("rustc", self.rustc_version or "(unknown)"),
26 ("cargo", self.cargo_version or "(unknown)"),
27 ("rustfmt", self.rustfmt_version or "(not found)"),
28 ("clippy", self.clippy_version or "(not found)"),
29 ]
31 def is_available(self) -> bool:
32 """Return whether this section has data to display."""
33 return self.rustc_version is not None or self.cargo_version is not None