Skip to content

docs(fetch): check_path's doc comment is orphaned onto fetch_versions #146

Description

@justin13888

What happens

In crates/dependable-fetch/src/check.rs, check_path was moved down past fetch_metadata and its doc block was left behind. The block now sits above fetch_versions, which carries its own doc beneath it, and pub async fn check_path has none.

So published rustdoc shows fetch_versions documented as "Check a manifest on disk… the only place the library performs filesystem IO… returns CheckError::UnknownManifest if the file name is unrecognized" — none of which describes fetch_versions — while the function that text belongs to is undocumented.

This violates the repository's own stated convention in AGENTS.md / CLAUDE.md: "All pub items get doc comments."

Why nothing catches it

The workspace sets no missing_docs lint, so clippy -D warnings passes. A misattached doc comment is syntactically fine — it documents something, just not the right item.

check_path is a public entry point of a published crate, and docs/INTEGRATIONS.md names an IDE integration on dependable-fetch as roadmap work, so this is the doc a first external consumer would read.

Direction

Move the block down to immediately above pub async fn check_path. One-line change, no behaviour.

Worth deciding at the same time whether #![warn(missing_docs)] belongs on the published crates, since the convention is already stated and currently unenforced.

Context

Found independently by two separate reviews during backlog work — one repairing #95, one propagating bases down the #95 → #97 → #103 → #115 stack. It predates both: reproduced at #97's head before any of this run's merges. Left unfixed by both because repairing it is authoring unrelated to the change each was making. It belongs to #97's file.

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

    No labels
    No labels

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions