- 
                Notifications
    You must be signed in to change notification settings 
- Fork 13.9k
Closed
Labels
C-bugCategory: This is a bug.Category: This is a bug.P-lowLow priorityLow priorityregression-from-stable-to-nightlyPerformance or correctness regression from stable to nightly.Performance or correctness regression from stable to nightly.
Description
This code previously compiled fine, but as of ~2 weeks ago it began to fail on nightly and has continued to do so since.
fn load<L>() -> Option<L> {
    todo!()
}
fn main() {
    while let Some(tag) = load() {
        match &tag {
            b"NAME" => {}
            b"DATA" => {}
            _ => {}
        }
    }
}error[E0282]: type annotations needed
 --> src\main.rs:6:27
  |
6 |     while let Some(tag) = load() {
  |                           ^^^^ cannot infer type of the type parameter `L` declared on the function `load`
7 |         match &tag {
8 |             b"NAME" => {}
  |             ------- type must be known at this point
  |
help: consider specifying the generic argument
  |
6 |     while let Some(tag) = load::<L>() {
  |
Version it worked on
rustc 1.72.0-nightly (8b35c0bb0 2023-06-08)
binary: rustc
commit-hash: 8b35c0bb0f833c0077dc57006eb317edde2a2d1e
commit-date: 2023-06-08
host: x86_64-pc-windows-msvc
release: 1.72.0-nightly
LLVM version: 16.0.5
Version with regression
rustc 1.72.0-nightly (43062c43d 2023-06-09)
binary: rustc
commit-hash: 43062c43d2a63cf4e261c6eddc417575c4f3062f
commit-date: 2023-06-09
host: x86_64-pc-windows-msvc
release: 1.72.0-nightly
LLVM version: 16.0.5
p.s. Is the output of rustc --version --verbose suppose to be one day behind compared to the toolchain name? In any case, nightly-2023-06-09-x86_64-pc-windows-msvc was the last working version, nightly-2023-06-10-x86_64-pc-windows-msvc and onward trigger the error.
@rustbot modify labels: +regression-from-stable-to-nightly -regression-untriaged
Metadata
Metadata
Assignees
Labels
C-bugCategory: This is a bug.Category: This is a bug.P-lowLow priorityLow priorityregression-from-stable-to-nightlyPerformance or correctness regression from stable to nightly.Performance or correctness regression from stable to nightly.