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

thread 'rustc' panicked at rust-nightly/compiler/rustc_errors/src/diagnostic.rs:1006:9 #133833

Closed
wxie7 opened this issue Dec 4, 2024 · 5 comments · Fixed by #133843
Closed
Labels
A-diagnostics Area: Messages for errors, warnings, and lints C-bug Category: This is a bug. E-needs-bisection Call for participation: This issue needs bisection: https://github.com/rust-lang/cargo-bisect-rustc I-ICE Issue: The compiler panicked, giving an Internal Compilation Error (ICE) ❄️ requires-debug-assertions This issue requires a build of rustc or tooling with debug-assertions in some way S-has-mcve Status: A Minimal Complete and Verifiable Example has been found for this issue T-compiler Relevant to the compiler team, which will review and decide on the PR/issue.

Comments

@wxie7
Copy link

wxie7 commented Dec 4, 2024

I tried this code:

use rand::{thread_rng, Rng};
use std::env;
use std::fs::{self, File};
use std::io::{self, Read, Write};
use std::process::{Command, Stdio};
use std::sync::{Arc, Mutex};
use std::thread;
use std::time::{Duration, Instant};
fn main() {
    let args: Vec<String> = env::args().collect();
    let now = Instant::now();
    let data = fs::read_to_string(&args[1].replace("v2", "")).expect("Unable to open the file");
    let mut v = data;
    for _i in 0..10 {
        v = v
            .chars()
            .filter(|x| !x.is_whitespace())
            .map(|x| {
                println!("Child spawned with the size: {}", x);
            })
            .collect::<String>();
    }
    fs::write(&args[1].replace(".txt", "v3"), v).expect("Unable to write");
    println!("{}s to complete", now.elapsed().as_secs_f32());
}

I expected to see this happen: explanation

Instead, this happened: explanation

Meta

rustc --version --verbose:


commit-date: unknown
host: x86_64-unknown-linux-gnu
release: 1.85.0-dev
LLVM version: 19.1.4
Backtrace

thread 'rustc' panicked at /data/xieym/workspace/rust/rust-nightly/compiler/rustc_errors/src/diagnostic.rs:1006:9:
Span must not be empty and have no suggestion
stack backtrace:
   0:     0x7fbedf28dead - <std::sys::backtrace::BacktraceLock::print::DisplayBacktrace as core::fmt::Display>::fmt::h51e5276f25f67b8a
   1:     0x7fbedf347ea3 - core::fmt::write::h0a73bee6158cdbf1
   2:     0x7fbedf2b4309 - std::io::Write::write_fmt::h206d582822858877
   3:     0x7fbedf28dd53 - std::sys::backtrace::BacktraceLock::print::h84a9a4c750ade733
   4:     0x7fbedf2c46fc - std::panicking::default_hook::{{closure}}::h216e29259e3d5cff
   5:     0x7fbedf2c44c5 - std::panicking::default_hook::h03ce982d60640bc4
   6:     0x7fbedab6be42 - <alloc[7c2d8435141f8e1e]::boxed::Box<rustc_driver_impl[d7b86d9e63f9aaed]::install_ice_hook::{closure#0}> as core[dcda4f281d996093]::ops::function::Fn<(&dyn for<'a, 'b> core[dcda4f281d996093]::ops::function::Fn<(&'a std[31742bae037c253]::panic::PanicHookInfo<'b>,), Output = ()> + core[dcda4f281d996093]::marker::Send + core[dcda4f281d996093]::marker::Sync, &std[31742bae037c253]::panic::PanicHookInfo)>>::call
   7:     0x7fbedf2c4e68 - std::panicking::rust_panic_with_hook::h88b680004200a63a
   8:     0x7fbedf28e33a - std::panicking::begin_panic_handler::{{closure}}::ha56090df9488ab86
   9:     0x7fbedf28e169 - std::sys::backtrace::__rust_end_short_backtrace::h8833a10924a5c2d2
  10:     0x7fbedf2c47ed - rust_begin_unwind
  11:     0x7fbedf352a40 - core::panicking::panic_fmt::h57d6d212ea0ce749
  12:     0x7fbeddea5575 - <rustc_errors[20cbecb65c2fd5d8]::diagnostic::Diag>::span_suggestion_with_style::<&str, alloc[7c2d8435141f8e1e]::string::String>
  13:     0x7fbeddba70ef - <rustc_trait_selection[9d3ba524c639591c]::error_reporting::TypeErrCtxt>::point_at_chain::<rustc_span[37f46e797e36bb53]::ErrorGuaranteed>
  14:     0x7fbeddba5f96 - <rustc_trait_selection[9d3ba524c639591c]::error_reporting::TypeErrCtxt>::note_function_argument_obligation::<rustc_span[37f46e797e36bb53]::ErrorGuaranteed>
  15:     0x7fbeddb9fa32 - <rustc_trait_selection[9d3ba524c639591c]::error_reporting::TypeErrCtxt>::note_obligation_cause_code::<rustc_span[37f46e797e36bb53]::ErrorGuaranteed, rustc_middle[e6c5fc1c8185df83]::ty::predicate::Predicate>
  16:     0x7fbeddb86125 - <rustc_trait_selection[9d3ba524c639591c]::error_reporting::TypeErrCtxt>::note_obligation_cause
  17:     0x7fbeddb7af45 - <rustc_trait_selection[9d3ba524c639591c]::error_reporting::TypeErrCtxt>::report_selection_error
  18:     0x7fbeddbc2394 - <rustc_trait_selection[9d3ba524c639591c]::error_reporting::TypeErrCtxt>::report_fulfillment_error
  19:     0x7fbeddbacb07 - <rustc_trait_selection[9d3ba524c639591c]::error_reporting::TypeErrCtxt>::report_fulfillment_errors
  20:     0x7fbedb244ff9 - <rustc_hir_typeck[c5136c63f534b988]::fn_ctxt::FnCtxt>::check_argument_types
  21:     0x7fbedb244372 - <rustc_hir_typeck[c5136c63f534b988]::fn_ctxt::FnCtxt>::check_method_argument_types
  22:     0x7fbedb2bb5eb - <rustc_hir_typeck[c5136c63f534b988]::fn_ctxt::FnCtxt>::check_expr_kind
  23:     0x7fbedb21ebdf - <rustc_hir_typeck[c5136c63f534b988]::fn_ctxt::FnCtxt>::check_expr_with_expectation_and_args
  24:     0x7fbedb2afdc5 - <rustc_hir_typeck[c5136c63f534b988]::fn_ctxt::FnCtxt>::check_expr_with_expectation
  25:     0x7fbedb2b487f - <rustc_hir_typeck[c5136c63f534b988]::fn_ctxt::FnCtxt>::check_expr_kind
  26:     0x7fbedb21ebdf - <rustc_hir_typeck[c5136c63f534b988]::fn_ctxt::FnCtxt>::check_expr_with_expectation_and_args
  27:     0x7fbedb2afdc5 - <rustc_hir_typeck[c5136c63f534b988]::fn_ctxt::FnCtxt>::check_expr_with_expectation
  28:     0x7fbedb251056 - <rustc_hir_typeck[c5136c63f534b988]::fn_ctxt::FnCtxt>::check_expr_block
  29:     0x7fbedb2b1982 - <rustc_hir_typeck[c5136c63f534b988]::fn_ctxt::FnCtxt>::check_expr_kind
  30:     0x7fbedb21ebdf - <rustc_hir_typeck[c5136c63f534b988]::fn_ctxt::FnCtxt>::check_expr_with_expectation_and_args
  31:     0x7fbedb2afdc5 - <rustc_hir_typeck[c5136c63f534b988]::fn_ctxt::FnCtxt>::check_expr_with_expectation
  32:     0x7fbedb2b70e1 - <rustc_hir_typeck[c5136c63f534b988]::fn_ctxt::FnCtxt>::check_expr_kind
  33:     0x7fbedb21ebdf - <rustc_hir_typeck[c5136c63f534b988]::fn_ctxt::FnCtxt>::check_expr_with_expectation_and_args
  34:     0x7fbedb2afdc5 - <rustc_hir_typeck[c5136c63f534b988]::fn_ctxt::FnCtxt>::check_expr_with_expectation
  35:     0x7fbedb250f2c - <rustc_hir_typeck[c5136c63f534b988]::fn_ctxt::FnCtxt>::check_expr_block
  36:     0x7fbedb2b502c - <rustc_hir_typeck[c5136c63f534b988]::fn_ctxt::FnCtxt>::check_expr_kind
  37:     0x7fbedb21ebdf - <rustc_hir_typeck[c5136c63f534b988]::fn_ctxt::FnCtxt>::check_expr_with_expectation_and_args
  38:     0x7fbedb2afdc5 - <rustc_hir_typeck[c5136c63f534b988]::fn_ctxt::FnCtxt>::check_expr_with_expectation
  39:     0x7fbedb2b70e1 - <rustc_hir_typeck[c5136c63f534b988]::fn_ctxt::FnCtxt>::check_expr_kind
  40:     0x7fbedb21ebdf - <rustc_hir_typeck[c5136c63f534b988]::fn_ctxt::FnCtxt>::check_expr_with_expectation_and_args
  41:     0x7fbedb2afdc5 - <rustc_hir_typeck[c5136c63f534b988]::fn_ctxt::FnCtxt>::check_expr_with_expectation
  42:     0x7fbedb2b0726 - <rustc_hir_typeck[c5136c63f534b988]::fn_ctxt::FnCtxt>::check_expr_kind
  43:     0x7fbedb21ebdf - <rustc_hir_typeck[c5136c63f534b988]::fn_ctxt::FnCtxt>::check_expr_with_expectation_and_args
  44:     0x7fbedb2afdc5 - <rustc_hir_typeck[c5136c63f534b988]::fn_ctxt::FnCtxt>::check_expr_with_expectation
  45:     0x7fbedb250f2c - <rustc_hir_typeck[c5136c63f534b988]::fn_ctxt::FnCtxt>::check_expr_block
  46:     0x7fbedb2b1982 - <rustc_hir_typeck[c5136c63f534b988]::fn_ctxt::FnCtxt>::check_expr_kind
  47:     0x7fbedb21ebdf - <rustc_hir_typeck[c5136c63f534b988]::fn_ctxt::FnCtxt>::check_expr_with_expectation_and_args
  48:     0x7fbedb2afdc5 - <rustc_hir_typeck[c5136c63f534b988]::fn_ctxt::FnCtxt>::check_expr_with_expectation
  49:     0x7fbedb2201bf - <rustc_hir_typeck[c5136c63f534b988]::fn_ctxt::FnCtxt>::check_return_or_body_tail
  50:     0x7fbedb54b17b - rustc_hir_typeck[c5136c63f534b988]::check::check_fn
  51:     0x7fbedb543e2f - rustc_hir_typeck[c5136c63f534b988]::typeck
  52:     0x7fbedd347a35 - rustc_query_impl[bec2af351405b693]::plumbing::__rust_begin_short_backtrace::<rustc_query_impl[bec2af351405b693]::query_impl::typeck::dynamic_query::{closure#2}::{closure#0}, rustc_middle[e6c5fc1c8185df83]::query::erase::Erased<[u8; 8usize]>>
  53:     0x7fbedd2b7115 - <rustc_query_impl[bec2af351405b693]::query_impl::typeck::dynamic_query::{closure#2} as core[dcda4f281d996093]::ops::function::FnOnce<(rustc_middle[e6c5fc1c8185df83]::ty::context::TyCtxt, rustc_span[37f46e797e36bb53]::def_id::LocalDefId)>>::call_once
  54:     0x7fbedd214d34 - rustc_query_system[1b6cbf762e62559d]::query::plumbing::try_execute_query::<rustc_query_impl[bec2af351405b693]::DynamicConfig<rustc_data_structures[8c79ebd7d363ac43]::vec_cache::VecCache<rustc_span[37f46e797e36bb53]::def_id::LocalDefId, rustc_middle[e6c5fc1c8185df83]::query::erase::Erased<[u8; 8usize]>, rustc_query_system[1b6cbf762e62559d]::dep_graph::graph::DepNodeIndex>, false, false, false>, rustc_query_impl[bec2af351405b693]::plumbing::QueryCtxt, false>
  55:     0x7fbedd4369fb - rustc_query_impl[bec2af351405b693]::query_impl::typeck::get_query_non_incr::__rust_end_short_backtrace
  56:     0x7fbedb7a3e04 - <rustc_middle[e6c5fc1c8185df83]::hir::map::Map>::par_body_owners::<rustc_hir_analysis[beef3382d6061d7f]::check_crate::{closure#4}>::{closure#0}
  57:     0x7fbedb79355d - <rustc_data_structures[8c79ebd7d363ac43]::sync::parallel::ParallelGuard>::run::<(), rustc_data_structures[8c79ebd7d363ac43]::sync::parallel::par_for_each_in<&rustc_span[37f46e797e36bb53]::def_id::LocalDefId, &[rustc_span[37f46e797e36bb53]::def_id::LocalDefId], <rustc_middle[e6c5fc1c8185df83]::hir::map::Map>::par_body_owners<rustc_hir_analysis[beef3382d6061d7f]::check_crate::{closure#4}>::{closure#0}>::{closure#0}::{closure#1}::{closure#0}>
  58:     0x7fbedb80b8be - rustc_hir_analysis[beef3382d6061d7f]::check_crate
  59:     0x7fbedae4d3b1 - rustc_interface[3a875bb8a3a01a82]::passes::analysis
  60:     0x7fbedd348053 - rustc_query_impl[bec2af351405b693]::plumbing::__rust_begin_short_backtrace::<rustc_query_impl[bec2af351405b693]::query_impl::analysis::dynamic_query::{closure#2}::{closure#0}, rustc_middle[e6c5fc1c8185df83]::query::erase::Erased<[u8; 1usize]>>
  61:     0x7fbedd2b7c41 - <rustc_query_impl[bec2af351405b693]::query_impl::analysis::dynamic_query::{closure#2} as core[dcda4f281d996093]::ops::function::FnOnce<(rustc_middle[e6c5fc1c8185df83]::ty::context::TyCtxt, ())>>::call_once
  62:     0x7fbedd1628fc - rustc_query_system[1b6cbf762e62559d]::query::plumbing::try_execute_query::<rustc_query_impl[bec2af351405b693]::DynamicConfig<rustc_query_system[1b6cbf762e62559d]::query::caches::SingleCache<rustc_middle[e6c5fc1c8185df83]::query::erase::Erased<[u8; 1usize]>>, false, false, false>, rustc_query_impl[bec2af351405b693]::plumbing::QueryCtxt, false>
  63:     0x7fbedd545338 - rustc_query_impl[bec2af351405b693]::query_impl::analysis::get_query_non_incr::__rust_end_short_backtrace
  64:     0x7fbedab418bb - <rustc_middle[e6c5fc1c8185df83]::ty::context::GlobalCtxt>::enter::<rustc_driver_impl[d7b86d9e63f9aaed]::run_compiler::{closure#0}::{closure#1}::{closure#4}, core[dcda4f281d996093]::result::Result<core[dcda4f281d996093]::option::Option<rustc_interface[3a875bb8a3a01a82]::queries::Linker>, rustc_span[37f46e797e36bb53]::ErrorGuaranteed>>
  65:     0x7fbedaaf665a - <rustc_interface[3a875bb8a3a01a82]::queries::QueryResult<&rustc_middle[e6c5fc1c8185df83]::ty::context::GlobalCtxt>>::enter::<core[dcda4f281d996093]::result::Result<core[dcda4f281d996093]::option::Option<rustc_interface[3a875bb8a3a01a82]::queries::Linker>, rustc_span[37f46e797e36bb53]::ErrorGuaranteed>, rustc_driver_impl[d7b86d9e63f9aaed]::run_compiler::{closure#0}::{closure#1}::{closure#4}>
  66:     0x7fbedab0237c - <rustc_interface[3a875bb8a3a01a82]::interface::Compiler>::enter::<rustc_driver_impl[d7b86d9e63f9aaed]::run_compiler::{closure#0}::{closure#1}, core[dcda4f281d996093]::result::Result<core[dcda4f281d996093]::option::Option<rustc_interface[3a875bb8a3a01a82]::queries::Linker>, rustc_span[37f46e797e36bb53]::ErrorGuaranteed>>
  67:     0x7fbedab321de - <scoped_tls[46415f2badf08390]::ScopedKey<rustc_span[37f46e797e36bb53]::SessionGlobals>>::set::<rustc_interface[3a875bb8a3a01a82]::util::run_in_thread_with_globals<rustc_interface[3a875bb8a3a01a82]::util::run_in_thread_pool_with_globals<rustc_interface[3a875bb8a3a01a82]::interface::run_compiler<core[dcda4f281d996093]::result::Result<(), rustc_span[37f46e797e36bb53]::ErrorGuaranteed>, rustc_driver_impl[d7b86d9e63f9aaed]::run_compiler::{closure#0}>::{closure#1}, core[dcda4f281d996093]::result::Result<(), rustc_span[37f46e797e36bb53]::ErrorGuaranteed>>::{closure#0}, core[dcda4f281d996093]::result::Result<(), rustc_span[37f46e797e36bb53]::ErrorGuaranteed>>::{closure#0}::{closure#0}::{closure#0}, core[dcda4f281d996093]::result::Result<(), rustc_span[37f46e797e36bb53]::ErrorGuaranteed>>
  68:     0x7fbedaae44dc - rustc_span[37f46e797e36bb53]::create_session_globals_then::<core[dcda4f281d996093]::result::Result<(), rustc_span[37f46e797e36bb53]::ErrorGuaranteed>, rustc_interface[3a875bb8a3a01a82]::util::run_in_thread_with_globals<rustc_interface[3a875bb8a3a01a82]::util::run_in_thread_pool_with_globals<rustc_interface[3a875bb8a3a01a82]::interface::run_compiler<core[dcda4f281d996093]::result::Result<(), rustc_span[37f46e797e36bb53]::ErrorGuaranteed>, rustc_driver_impl[d7b86d9e63f9aaed]::run_compiler::{closure#0}>::{closure#1}, core[dcda4f281d996093]::result::Result<(), rustc_span[37f46e797e36bb53]::ErrorGuaranteed>>::{closure#0}, core[dcda4f281d996093]::result::Result<(), rustc_span[37f46e797e36bb53]::ErrorGuaranteed>>::{closure#0}::{closure#0}::{closure#0}>
  69:     0x7fbedab6f232 - std[31742bae037c253]::sys::backtrace::__rust_begin_short_backtrace::<rustc_interface[3a875bb8a3a01a82]::util::run_in_thread_with_globals<rustc_interface[3a875bb8a3a01a82]::util::run_in_thread_pool_with_globals<rustc_interface[3a875bb8a3a01a82]::interface::run_compiler<core[dcda4f281d996093]::result::Result<(), rustc_span[37f46e797e36bb53]::ErrorGuaranteed>, rustc_driver_impl[d7b86d9e63f9aaed]::run_compiler::{closure#0}>::{closure#1}, core[dcda4f281d996093]::result::Result<(), rustc_span[37f46e797e36bb53]::ErrorGuaranteed>>::{closure#0}, core[dcda4f281d996093]::result::Result<(), rustc_span[37f46e797e36bb53]::ErrorGuaranteed>>::{closure#0}::{closure#0}, core[dcda4f281d996093]::result::Result<(), rustc_span[37f46e797e36bb53]::ErrorGuaranteed>>
  70:     0x7fbedaaf0574 - <<std[31742bae037c253]::thread::Builder>::spawn_unchecked_<rustc_interface[3a875bb8a3a01a82]::util::run_in_thread_with_globals<rustc_interface[3a875bb8a3a01a82]::util::run_in_thread_pool_with_globals<rustc_interface[3a875bb8a3a01a82]::interface::run_compiler<core[dcda4f281d996093]::result::Result<(), rustc_span[37f46e797e36bb53]::ErrorGuaranteed>, rustc_driver_impl[d7b86d9e63f9aaed]::run_compiler::{closure#0}>::{closure#1}, core[dcda4f281d996093]::result::Result<(), rustc_span[37f46e797e36bb53]::ErrorGuaranteed>>::{closure#0}, core[dcda4f281d996093]::result::Result<(), rustc_span[37f46e797e36bb53]::ErrorGuaranteed>>::{closure#0}::{closure#0}, core[dcda4f281d996093]::result::Result<(), rustc_span[37f46e797e36bb53]::ErrorGuaranteed>>::{closure#1} as core[dcda4f281d996093]::ops::function::FnOnce<()>>::call_once::{shim:vtable#0}
  71:     0x7fbedf30319d - <alloc::boxed::Box<F,A> as core::ops::function::FnOnce<Args>>::call_once::hc538cfe9cf5a97c8
  72:     0x7fbedf2923ab - std::sys::pal::unix::thread::Thread::new::thread_start::h7a196e16c036c2e2
  73:     0x7fbed8a3eac3 - start_thread
                               at ./nptl/pthread_create.c:442:8
  74:     0x7fbed8ad0850 - __GI___clone3
                               at ./misc/../sysdeps/unix/sysv/linux/x86_64/clone3.S:81
  75:                0x0 - <unknown>

@wxie7 wxie7 added the C-bug Category: This is a bug. label Dec 4, 2024
@rustbot rustbot added the needs-triage This issue may need triage. Remove it if it has been sufficiently triaged. label Dec 4, 2024
@wxie7 wxie7 changed the title thread 'rustc' panicked at /data/xieym/workspace/rust/rust-nightly/compiler/rustc_errors/src/diagnostic.rs:1006:9 thread 'rustc' panicked at rust-nightly/compiler/rustc_errors/src/diagnostic.rs:1006:9 Dec 4, 2024
@jieyouxu jieyouxu added E-needs-mcve Call for participation: This issue has a repro, but needs a Minimal Complete and Verifiable Example requires-debug-assertions This issue requires a build of rustc or tooling with debug-assertions in some way E-needs-bisection Call for participation: This issue needs bisection: https://github.com/rust-lang/cargo-bisect-rustc labels Dec 4, 2024
@jieyouxu jieyouxu added A-diagnostics Area: Messages for errors, warnings, and lints T-compiler Relevant to the compiler team, which will review and decide on the PR/issue. I-ICE Issue: The compiler panicked, giving an Internal Compilation Error (ICE) ❄️ labels Dec 4, 2024
@jieyouxu
Copy link
Member

jieyouxu commented Dec 4, 2024

@wxie7 with these fuzzed examples, can you try to trim out the unused dependencies? E.g. in this case this example imports use rand::{thread_rng, Rng}; but it's not actually used, and I can repro the ICE without that. The external deps make it more annoying when it's unrelated errors.

@jieyouxu
Copy link
Member

jieyouxu commented Dec 4, 2024

Minimized:

fn main() {
    String::new()
        .chars()
        .map(|x| {
            println!("{}", x);
        })
        .collect::<String>();
}

@jieyouxu jieyouxu added S-has-mcve Status: A Minimal Complete and Verifiable Example has been found for this issue and removed E-needs-mcve Call for participation: This issue has a repro, but needs a Minimal Complete and Verifiable Example needs-triage This issue may need triage. Remove it if it has been sufficiently triaged. labels Dec 4, 2024
@jieyouxu
Copy link
Member

jieyouxu commented Dec 4, 2024

This is a pain to bisect because it needs debug assertions. Based on looking at code changes, this iter chain type mismatch suggestion introduced in #116717 probably was always reachable by empty spans (due to "inner" type errors or something). cc @estebank for FYI

@estebank
Copy link
Contributor

estebank commented Dec 4, 2024

It can probably be sidestep by adding to

https://github.com/rust-lang/rust/pull/116717/files#diff-aef5d12ac7ec2060165cf1db78128f941c789bb2fc90c7ed351049b0be4d435eR3643

the condition && expr.span.hi() != stmt.span.hi(). I'll check to see what the underlying issue is (the expr.span really shouldn't cover the ;, should it?)

Edit: great. The stmt.span doesn't include the ;. Wonder if that's changed since I added the suggestion, or if the inclusion of the macro call changes things...

estebank added a commit to estebank/rust that referenced this issue Dec 4, 2024
The `println!();` statement's span doesn't include the `;`, and the modified suggestions where trying to get the `;` by getting the differenece between the statement's and the expression's spans, which was an empty suggestion.

Fix rust-lang#133833, fix rust-lang#133834.
@jieyouxu

This comment has been minimized.

fmease added a commit to fmease/rust that referenced this issue Dec 4, 2024
Do not emit empty suggestion

The `println!();` statement's span doesn't include the `;`, and the modified suggestions where trying to get the `;` by getting the differenece between the statement's and the expression's spans, which was an empty suggestion.

Fix rust-lang#133833, fix rust-lang#133834.
fmease added a commit to fmease/rust that referenced this issue Dec 4, 2024
Do not emit empty suggestion

The `println!();` statement's span doesn't include the `;`, and the modified suggestions where trying to get the `;` by getting the differenece between the statement's and the expression's spans, which was an empty suggestion.

Fix rust-lang#133833, fix rust-lang#133834.
fmease added a commit to fmease/rust that referenced this issue Dec 5, 2024
Do not emit empty suggestion

The `println!();` statement's span doesn't include the `;`, and the modified suggestions where trying to get the `;` by getting the differenece between the statement's and the expression's spans, which was an empty suggestion.

Fix rust-lang#133833, fix rust-lang#133834.
@bors bors closed this as completed in 1b449e1 Dec 5, 2024
rust-timer added a commit to rust-lang-ci/rust that referenced this issue Dec 5, 2024
Rollup merge of rust-lang#133843 - estebank:empty-semi-sugg, r=jieyouxu

Do not emit empty suggestion

The `println!();` statement's span doesn't include the `;`, and the modified suggestions where trying to get the `;` by getting the differenece between the statement's and the expression's spans, which was an empty suggestion.

Fix rust-lang#133833, fix rust-lang#133834.
@jieyouxu jieyouxu marked this as a duplicate of #133916 Dec 5, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
A-diagnostics Area: Messages for errors, warnings, and lints C-bug Category: This is a bug. E-needs-bisection Call for participation: This issue needs bisection: https://github.com/rust-lang/cargo-bisect-rustc I-ICE Issue: The compiler panicked, giving an Internal Compilation Error (ICE) ❄️ requires-debug-assertions This issue requires a build of rustc or tooling with debug-assertions in some way S-has-mcve Status: A Minimal Complete and Verifiable Example has been found for this issue T-compiler Relevant to the compiler team, which will review and decide on the PR/issue.
Projects
None yet
Development

Successfully merging a pull request may close this issue.

4 participants