bazelbuild / bazelbuild/rules_rust

Support crate features

Open
#37 3 comments 3 reactions 0 assignees View on GitHub
enhancement needs-triage
Dominant language
Starlark
Stars
843
Forks
651
Avg merge
2d 18h
Merged PRs (30d)
15

Description

Cargo supports Features, which, according to the [documentation](http://doc.crates.io/manifest.html#the-features-section) is used for the following:

1. Specifying conditional compilation options
2. Specifying optional dependencies
3. Specifying clusters of optional dependencies, other features of the current crates, and/or enabling features in dependencies of this crate.

(1) is currently supported via the `crate_features` attribute, which sets flags to enable different conditional compilation features via `cfg`. More discussion and design work is needed in order to support (2) and (3).

Contributor guide

Open the contributing guide

Research direction

Read Cargo's manifest Features documentation and the existing crate_features attribute support first. Define the design needed for optional dependencies and feature groups or dependency features; done means those remaining Cargo feature behaviors are supported.

Written by the indexing model from the issue text.

Assessment

Tech stack
rust
Domain
build-system
Issue type
Feature
Difficulty
5/5
Estimated time
Over a week
Activity status
Stale
Clarity
Needs clarification
Newbie friendliness
25/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.