dtolnay / dtolnay/rustversion

since and before for stable versions do not consider the date of nightly build

Open
#42 0 comments 0 reactions 0 assignees View on GitHub
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.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.