Rust and Cargo features
This page lists items related to Rust language features and Cargo workflows. It also collects feature requests and issues that would assist with this project.
Publishing to crates.io
See the Rust API Guidelines for a lengthy checklist of guidelines that should be considered before uploading this crate to the official crate registry.
We also need to specify both the path
and the version
for each crate in the workspace, because crates.io ignores path dependencies.
The cargo deb
helper command automatically creates binary Debian packages from Cargo projects, and handles workspaces.
Rust version-related issues
See the “Minimum Supported Rust Version” tracking issue.
-
Rust 1.38 provides the duration_float feature.
-
Rust 1.48 provides intra-doc links.
-
Rust 1.51 allows running all test cases, and provides the “version 2” feature resolver that allows enabling/disabling features for all crates in the workspace.
-
Rust 1.53 provides the or_patterns feature, and is currently the minimum supported Rust version for the core
gtk-rs
crates.
Workspace issues
- De-duplicate Cargo workspace information: tracking issue.
Documentation issues
-
Include crate examples in the generated documentation: issue
-
Include images in the generated documentation: issue
-
Define enabled and disabled lints in a configuration file: issue
-
Enable warnings for doctests: relevant issues and pull request.