since and before for stable versions do not consider the date of nightly build
- Dominant language
- Rust
- Stars
- 394
- Forks
- 22
- PR merge metrics
- No merged PRs in 30d
Description
According to the README, `#[rustversion::since(1.74)]` should be
> True on that stable release and any later compiler, including beta and nightly.
The key word in this sentence is **later**. Stable Rust 1.74.0 was released on 2023-11-16, but `nightly-2023-09-14` is a nightly that came out more than 2 months before. The following snippet succeeds to compile when it should fail because the nightly is older than 1.74:
```rust
#[rustversion::since(1.74)]
fn main() {
println!("Hello, world!");
}
```
```rust
cargo +nightly-2023-09-13 b
Compiling rustversion v1.0.14
Compiling rust-version-test v0.1.0 (D:\git-repos\github\rust-version-test)
Finished dev [unoptimized + debuginfo] target(s) in 2.26s
```
Similarly, the below snippet fails to compile on `nightly-2023-09-14`:
```rust
#[rustversion::before(1.74)]
fn main() {
println!("Hello, world!");
}
```
``` console
cargo +nightly-2023-09-14 b
Compiling rustversion v1.0.14
Compiling rust-version-test v0.1.0 (D:\git-repos\github\rust-version-test)
error[E0601]: `main` function not found in crate `rust_version_test`
--> src\main.rs:4:2
|
4 | }
| ^ consider adding a `main` function to `src\main.rs`
For more information about this error, try `rustc --explain E0601`.
error: could not compile `rust-version-test` (bin "rust-version-test") due to previous error
```
Contributor guide
No contributing guide indexed for this repository
Assessment
This issue has not been assessed yet.