# iter rustdoc-sweep — clear all 23 cargo-doc warnings **Date:** 2026-05-13 **Started from:** 48b1f77 (post-WhatsNew str-concat done-state) **Status:** DONE ## Summary Hygiene sweep against `cargo doc --workspace --no-deps`. Before: 23 warnings (17 in `ailang-check` + 4 in `ailang-core` + 2 in `ailang-surface`). After: zero. All edits are documentation-only — no production code, no test code changed. Tests stay 562 green. Two warning classes, fixed with two different shapes: - **Public doc links to private items** (15 warnings). Pattern: a `pub` item's `///` doc references `[`fn_name`]` where `fn_name` is `pub(crate)` or private. Fix: replace ``[`fn_name`]`` with the plain backtick-code-span ``` `fn_name` ```. The identifier stays readable in rendered docs but rustdoc no longer tries to resolve the link. - **Unresolved links** (8 warnings). Sub-classes: - ``[`Registry`]`` in `mono.rs` (×3) — `Registry` lives in `ailang_core::workspace` and the path was bare. Fixed by fully-qualifying as `[`ailang_core::workspace::Registry`]` / `[`ailang_core::workspace::Registry::entries`]`. - ``[`Env::class_methods`]`` — `Env` is in this crate but bare; the doc string was demoted to plain backticks (`` `crate::Env::class_methods` ``) because `Env` itself has no `pub` re-export at the crate root that rustdoc could follow. - ``[`crate::parse`]`` ambiguous in `loader.rs` (×2) — rustdoc saw both a function and a module with that path. Disambiguated to the function form via ``[`crate::parse()`]`` per rustdoc's own suggestion. - `metas[i]` in `lib.rs` — rustdoc parsed `[i]` as a link. Escaped as `metas\[i\]` (same fix for the sibling `vars\[i\]`). ## Files touched - `crates/ailang-core/src/desugar.rs` (1 line) - `crates/ailang-core/src/workspace.rs` (3 lines) - `crates/ailang-surface/src/loader.rs` (2 lines) - `crates/ailang-check/src/uniqueness.rs` (2 lines) - `crates/ailang-check/src/diagnostic.rs` (1 line) - `crates/ailang-check/src/mono.rs` (5 lines) - `crates/ailang-check/src/lib.rs` (8 lines) ## Verification - `cargo doc --workspace --no-deps 2>&1 | grep "^warning:" | wc -l` → `0`. - `cargo test --workspace` → 562 passed, 0 failed (baseline holds). ## Concerns - (none) ## Known debt - (none)