Skip to content

Check Rust impl items and resolve workspace crates - #6

Merged
IronAdamant merged 1 commit into
mainfrom
cursor/rust-impls-and-workspaces-097c
Nov 3, 2026
Merged

IronAdamant merged 1 commit into
mainfrom
cursor/rust-impls-and-workspaces-097c

Conversation

@IronAdamant

Copy link
Copy Markdown
Owner

Two limits left after the Rust map work are fixed.

Impl items

mark-green now includes unrestricted pub methods and associated consts or types on a public type, and the items written in a trait impl for that type. pub(crate), pub(super), pub(self), and pub(in ...) stay out, including when they appear on a method. Items on a pub(crate) type stay out, so a Drop impl for a restricted type is not required in the wiki. Items inside a function or a nested module stay out.

impl_items_are_checked_and_restricted_visibility_is_not accepts a wiki that names documented, FLAG, and fmt, refuses a wiki that drops documented, and refuses a wiki that still wraps removed documented and fmt in backticks.

Workspaces

The root Cargo.toml [workspace] members list is read, including * and ? globs, and exclude is applied. Each member's package name and [lib] name (hyphens become underscores) point at that member's library. crate:: stays inside the crate that owns the file: a workspace member, an integration test, or src/bin. An excluded package is not an importable crate name, and crate:: inside it does not jump to another member.

workspace_members_resolve_across_crates_and_keep_crate_paths_local builds crates/alpha, crates/beta, a tools/* member, and an excluded tools/skip. Cross-crate use reaches the named library. crate:: in crates/beta/tests/ stays in that test crate.

The dogfood check on this repo's src/api.rs still lists the same dependents.

Measured

  • cargo build: success
  • cargo test --locked: 49 passed, 0 failed, 0 ignored
  • cargo clippy --all-targets -- -D warnings: success
  • verify-wikis: 29 checked, 0 failed
Open in Web Open in Cursor 

Rust wiki checks now include pub methods and associated items on a
public type, plus items written in a trait impl for that type.
pub(crate), pub(super), pub(self), and pub(in ...) stay out, as do
impl items on a restricted type. Workspace members, including globs,
supply crate names, and crate:: stays inside the member that owns
the file.

Co-authored-by: Aron Amos <IronAdamant@users.noreply.github.com>
@IronAdamant
IronAdamant merged commit 6cb9c93 into main Nov 3, 2026
6 checks passed
@IronAdamant
IronAdamant deleted the cursor/rust-impls-and-workspaces-097c branch November 3, 2026 05:51
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants