← Back to issue list

Wrong default in docs for the Rust plugin

View original Github issue

Metadata

Project
craft-parts
Number
#593
Type
issue
State
closed
Author
tigarmo
Labels
—
Created
Updated
Closed

Current evaluation

Documentation was corrected in merged PR #1681 (commit e66bea2f): rust-channel now documents a None default and that Rust must be provisioned separately.

Resolution: closed resolved

Reason: Merged PR #1681 resolved the mismatch and fixes #593. Its documentation now matches the plugin's None default.

Evaluated by: mr-cal-bot

No scores available.

Issue body

### Bug Description The [docs](https://github.com/canonical/craft-parts/blob/main/craft_parts/plugins/rust_plugin.py#L122) say that `rust-channel` defaults to `stable`, but from the [code itself](https://github.com/canonical/craft-parts/blob/main/craft_parts/plugins/rust_plugin.py#L53) it looks like it defaults to `None`. This is a problem because the semantics are different in a big way: if a part uses the `rust` plugin but doesn't specify `rust-channel`, the docs says that `stable` rust will be automatically provisioned but in fact the build will fail because the code assumes that something else (a buid-snap/package, a different part, etc) is provisioning the toolchain. As for the fix: the easiest, backwards-compatible fix is to just fix the documentation to say that it defaults to `None` and as such rust must be provisioned some other way. ### To Reproduce n/a ### part yaml _No response_ ### Relevant log output ```shell n/a ```

Evaluation history

Date Model Scores Action Summary
stealth/space-bunny-alpha — closed resolved Documentation was corrected in merged PR #1681 (commit e66bea2f): rust-channel now documents a None default and that Rust must be provisioned separately.
stealth/space-bunny-alpha — closed resolved Merged PR #1681 (e66bea2f) corrected the Rust plugin docs: rust-channel defaults to None, so the Rust toolchain must be provisioned separately.
qwen3.6-35b-a3b-mtp-q6 — — Documentation incorrectly stated the Rust plugin rust-channel defaults to stable instead of None, causing build failures. The docs were corrected to reflect the actual None default. Resolved and closed via PR 1681.
qwen/qwen3.8-27b
Impact: 35
Quick Win: 32
Staleness: 75
Complexity: 10
Confidence: 90
Support Request: 0
needs triage Rust plugin docs incorrectly state rust-channel defaults to 'stable' while the code defaults to None, so builds fail without an explicitly provisioned toolchain. Docs still wrong at HEAD; issue open, unlabelled, no maintainer response since May 2024.
qwen/qwen3.6-35b-a3b
Staleness: 95
Complexity: 10
Confidence: 85
Support Request: 0
close stale Documentation incorrectly states rust-channel defaults to stable instead of None, causing build failures when not explicitly provisioned. Issue remains open with no maintainer response since May 2024.
qwen3.6-35b-a3b-mtp-q6
Staleness: 95
Complexity: 10
Confidence: 85
Support Request: 10
needs triage Documentation incorrectly states rust-channel defaults to stable, while code defaults to None. Unaddressed for over two years, awaiting maintainer triage.

Update history

Date Change
closed

Related work

  • Likely Fixed By: canonical/craft-parts#1681 (confidence 100%)

    Merged as commit e66bea2f and explicitly identified as fixing #593.

Related issues

Issue Project State Summary Similarity
#1681 docs: update reference for the rust plugin craft-parts merged Merged PR #1681 (commit e66bea2f) updated Rust plugin docs for current behavior, resolving outdated dependency guidance, rust-channel defaults, and provisioning details in #912 and #593.
76%
#912 Rust documentation is outdated craft-parts closed Rust plugin docs were corrected by merged PR #1681 (commit e66bea2f), removing obsolete rust-deps guidance and documenting the validation behavior from #903.
71%