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

Crates which use a specific rustc version fail to build #2358

Open
GuillaumeGomez opened this issue Dec 10, 2023 · 5 comments
Open

Crates which use a specific rustc version fail to build #2358

GuillaumeGomez opened this issue Dec 10, 2023 · 5 comments
Labels
A-builds Area: Building the documentation for a crate E-medium Effort: This requires a fair amount of work S-needs-design Status: There's a problem here, but no obvious solution; or the solution raises other questions

Comments

@GuillaumeGomez
Copy link
Member

Crate name

rustc-tools

Build failure link

https://docs.rs/crate/rustc-tools/0.3.1/builds/1050150

Additional details

No response

@syphar
Copy link
Member

syphar commented Dec 12, 2023

@GuillaumeGomez

I'm likely missing something, but where is the rustc version defined in rustc-tools?

Also, how would you imagine this to work? In the end, we only can work with nightly versions, and at the very least we always have to have a "minimum nightly" with the features / fixes we need, so a crate needing a specific nightly will never work reliably. Apart from the complexity to manage the different toolchains on the buildserver.

@GuillaumeGomez
Copy link
Member Author

The version is in https://github.com/GuillaumeGomez/rustc-tools/blob/master/rust-toolchain. When this file exists, cargo downloads the related version automatically and use it.

Also, how would you imagine this to work? In the end, we only can work with nightly versions, and at the very least we always have to have a "minimum nightly" with the features / fixes we need, so a crate needing a specific nightly will never work reliably. Apart from the complexity to manage the different toolchains on the buildserver.

Isn't it possible to download and use a specific version if one is specified? No need to keep the compiler around, we can remove it as soon as the crate was documented. Unfortunately, for rustc plugins, you always need a specific compiler version otherwise it simply doesn't compile.

@syphar
Copy link
Member

syphar commented Dec 12, 2023

Isn't it possible to download and use a specific version if one is specified?

theoretically yes, but since we rely on specific docs.rs functionality in the nightly rustc version, you might break the build when rust-toolchain defines a nightly that is too old.
Also stable or beta would not have our features .

@GuillaumeGomez
Copy link
Member Author

Can't we use it and if it fails, we consider it's ok?

@syphar
Copy link
Member

syphar commented Dec 12, 2023

Can't we use it and if it fails, we consider it's ok?

We had bugs in nightly versions that lead to silent failures, like #2351 or this issue.

So IMO this would only work if we define a "minimum" nightly that we can work with.

@syphar syphar added E-medium Effort: This requires a fair amount of work A-builds Area: Building the documentation for a crate S-needs-design Status: There's a problem here, but no obvious solution; or the solution raises other questions labels Feb 14, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
A-builds Area: Building the documentation for a crate E-medium Effort: This requires a fair amount of work S-needs-design Status: There's a problem here, but no obvious solution; or the solution raises other questions
Projects
None yet
Development

No branches or pull requests

2 participants