Skip to content

core: no #![warn(missing_docs)], zero compiling doc examples, and clippy flags 16 undocumented error conditions #296

Description

@MaximeGaudin

Summary

The crate has no #![warn(missing_docs)] (or deny), so cargo doc reports zero warnings despite many public items lacking documentation, and cargo test --doc runs 0 doc tests, so no example in the public API has ever been verified to compile.

Scope

  • Severity (reporter's assessment): medium
  • Area: api
  • Code: packages/core/src/lib.rs:1-26, packages/core/Cargo.toml
  • Reproduced empirically: yes

Minimal reproduction

  1. grep -rn missing_docs packages/core/src/lib.rs packages/core/Cargo.toml -> no matches. 2. cargo doc --no-deps --package slint -> 'Finished ... target(s)' with no warnings at all (because the lint that would catch missing docs is off). 3. cargo test --doc -p slint -> 'running 0 tests ... test result: ok. 0 passed'. 4. cargo clippy --workspace --all-targets -- -W clippy::pedantic reports 16 occurrences of 'docs for function returning Result missing # Errors section' (e.g. packages/core/src/config.rs:79).

Actual

cargo doc: 'Documenting slint v0.2.0 ... Finished `dev` profile ... Generated /Users/.../target/doc/slint/index.html' with no missing-docs warnings printed; cargo test --doc: 'running 0 tests'.

Expected

For a library meant for external consumption, #![warn(missing_docs)] (ideally deny in CI) should be set so undocumented public items are caught automatically, and at least the primary entry point (engine::run) should carry a doctest that compiles and runs under cargo test --doc.

Sources

Notes

The crate-level //! doc comment in lib.rs is well written prose; the gap is enforcement and worked examples, not intent.


Filed as part of a systematic pre-release audit. Triage and de-duplication pending.

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    bugSomething isn't working

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions