Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Reinstate "forbids" property #781

Merged
merged 3 commits into from
Aug 18, 2021
Merged

Reinstate "forbids" property #781

merged 3 commits into from
Aug 18, 2021

Conversation

mosteo
Copy link
Member

@mosteo mosteo commented Aug 5, 2021

Fixes #105.

We had this implemented but no way to use it because there was no implementation for loading it from the TOML index. This PR provides this missing load functionality and a couple of tests for it.

The forbids field has the same syntax as the depends-on. It serves to specify releases (in the form of dependencies) that should not appear in the same solution as the release using the forbids declaration. The two main use cases are to prevent known conflicts (e.g., two crates that have some sources with the same filenames), and to allow drop-in replacements with provides. In this second case it works the same as conflicts in apt-get: a crate may declare that it both provides and forbids a second crate. This way, it can fill for the provided crate, and no other crate will also be used for the provided crate.

@mosteo mosteo force-pushed the feat/provides-no-conflict branch 2 times, most recently from bc92e53 to 732c0fd Compare August 17, 2021 18:11
@mosteo mosteo marked this pull request as ready for review August 17, 2021 18:31
@Fabien-Chouteau
Copy link
Member

It would be good to have "user changes" entry for this.

Base automatically changed from feat/provides-no-conflict to merging/toolchains August 18, 2021 10:59
@mosteo mosteo merged commit 37ba146 into merging/toolchains Aug 18, 2021
@mosteo mosteo deleted the feat/forbids branch August 18, 2021 11:11
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