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

ICE: ParseFloatError { kind: Invalid } #9866

Closed
matthiaskrgr opened this issue Nov 18, 2022 · 0 comments · Fixed by #10001
Closed

ICE: ParseFloatError { kind: Invalid } #9866

matthiaskrgr opened this issue Nov 18, 2022 · 0 comments · Fixed by #10001
Labels
C-bug Category: Clippy is not doing the correct thing I-ICE Issue: Clippy panicked, giving an Internal Compilation Error (ICE) ❄️

Comments

@matthiaskrgr
Copy link
Member

Summary

code from ./src/tools/miri/tests/pass/intrinsics-math.rs

pub fn main() {
    assert_eq!(3.3_f32.round(), 3.0);
    assert_eq!(3.3_f64.round(), 3.0);
}

Version

clippy 0.1.66 (83356b7 2022-11-17)

Error output

Backtrace

thread '<unnamed>' panicked at 'called `Result::unwrap()` on an `Err` value: ParseFloatError { kind: Invalid }', src/tools/clippy/clippy_lints/src/unused_rounding.rs:38:62
stack backtrace:
 0:     0x7fab12966680 - std::backtrace_rs::backtrace::libunwind::trace::h80067f9e5e462c57
                             at /rustc/83356b78c4ff3e7d84e977aa6143793545967301/library/std/src/../../backtrace/src/backtrace/libunwind.rs:93:5
 1:     0x7fab12966680 - std::backtrace_rs::backtrace::trace_unsynchronized::h40455f36f585e1de
                             at /rustc/83356b78c4ff3e7d84e977aa6143793545967301/library/std/src/../../backtrace/src/backtrace/mod.rs:66:5
 2:     0x7fab12966680 - std::sys_common::backtrace::_print_fmt::hb1c9edae09f00232
                             at /rustc/83356b78c4ff3e7d84e977aa6143793545967301/library/std/src/sys_common/backtrace.rs:65:5
 3:     0x7fab12966680 - <std::sys_common::backtrace::_print::DisplayBacktrace as core::fmt::Display>::fmt::hf3ef817631c01884
                             at /rustc/83356b78c4ff3e7d84e977aa6143793545967301/library/std/src/sys_common/backtrace.rs:44:22
 4:     0x7fab129c8aae - core::fmt::write::h4e81cb2dc7449b8f
                             at /rustc/83356b78c4ff3e7d84e977aa6143793545967301/library/core/src/fmt/mod.rs:1208:17
 5:     0x7fab12956b05 - std::io::Write::write_fmt::h8a37cf68e7b3c906
                             at /rustc/83356b78c4ff3e7d84e977aa6143793545967301/library/std/src/io/mod.rs:1682:15
 6:     0x7fab12966445 - std::sys_common::backtrace::_print::h7252eab3e3b5c2f2
                             at /rustc/83356b78c4ff3e7d84e977aa6143793545967301/library/std/src/sys_common/backtrace.rs:47:5
 7:     0x7fab12966445 - std::sys_common::backtrace::print::he67183be70800c06
                             at /rustc/83356b78c4ff3e7d84e977aa6143793545967301/library/std/src/sys_common/backtrace.rs:34:9
 8:     0x7fab1296914f - std::panicking::default_hook::{{closure}}::h8849bf9173ca6067
                             at /rustc/83356b78c4ff3e7d84e977aa6143793545967301/library/std/src/panicking.rs:267:22
 9:     0x7fab12968e8a - std::panicking::default_hook::habb823efd562a1fb
                             at /rustc/83356b78c4ff3e7d84e977aa6143793545967301/library/std/src/panicking.rs:286:9
10:     0x55e93ce81d10 - clippy_driver[36b432ccc5841583]::ICE_HOOK::{closure#0}::{closure#0}
11:     0x7fab1296997d - <alloc::boxed::Box<F,A> as core::ops::function::Fn<Args>>::call::h3a50dd1e3461bb69
                             at /rustc/83356b78c4ff3e7d84e977aa6143793545967301/library/alloc/src/boxed.rs:2032:9
12:     0x7fab1296997d - std::panicking::rust_panic_with_hook::h507de1faf3e4c842
                             at /rustc/83356b78c4ff3e7d84e977aa6143793545967301/library/std/src/panicking.rs:692:13
13:     0x7fab129696f7 - std::panicking::begin_panic_handler::{{closure}}::h80ca552d9feb33be
                             at /rustc/83356b78c4ff3e7d84e977aa6143793545967301/library/std/src/panicking.rs:579:13
14:     0x7fab12966b2c - std::sys_common::backtrace::__rust_end_short_backtrace::h16017cbf5dd63648
                             at /rustc/83356b78c4ff3e7d84e977aa6143793545967301/library/std/src/sys_common/backtrace.rs:137:18
15:     0x7fab12969412 - rust_begin_unwind
                             at /rustc/83356b78c4ff3e7d84e977aa6143793545967301/library/std/src/panicking.rs:575:5
16:     0x7fab129c5483 - core::panicking::panic_fmt::hc759821524e0d038
                             at /rustc/83356b78c4ff3e7d84e977aa6143793545967301/library/core/src/panicking.rs:65:14
17:     0x7fab129c59f3 - core::result::unwrap_failed::he68b20b3c4f14801
                             at /rustc/83356b78c4ff3e7d84e977aa6143793545967301/library/core/src/result.rs:1791:5
18:     0x55e93cfe3d27 - <clippy_lints[fb461f55621e30c6]::unused_rounding::UnusedRounding as rustc_lint[b8a63091fca87301]::passes::EarlyLintPass>::check_expr
19:     0x7fab15eb39f4 - <rustc_lint[b8a63091fca87301]::late::LateLintPassObjects as rustc_lint[b8a63091fca87301]::passes::LateLintPass>::check_arm
20:     0x7fab15e53b0a - <rustc_lint[b8a63091fca87301]::early::EarlyContextAndPass<rustc_lint[b8a63091fca87301]::early::EarlyLintPassObjects> as rustc_ast[7c93c8ddce180735]::visit::Visitor>::visit_expr
21:     0x7fab15e62779 - rustc_ast[7c93c8ddce180735]::visit::walk_expr::<rustc_lint[b8a63091fca87301]::early::EarlyContextAndPass<rustc_lint[b8a63091fca87301]::early::EarlyLintPassObjects>>
22:     0x7fab15e53b15 - <rustc_lint[b8a63091fca87301]::early::EarlyContextAndPass<rustc_lint[b8a63091fca87301]::early::EarlyLintPassObjects> as rustc_ast[7c93c8ddce180735]::visit::Visitor>::visit_expr
23:     0x7fab15e6283d - rustc_ast[7c93c8ddce180735]::visit::walk_expr::<rustc_lint[b8a63091fca87301]::early::EarlyContextAndPass<rustc_lint[b8a63091fca87301]::early::EarlyLintPassObjects>>
24:     0x7fab15e53b15 - <rustc_lint[b8a63091fca87301]::early::EarlyContextAndPass<rustc_lint[b8a63091fca87301]::early::EarlyLintPassObjects> as rustc_ast[7c93c8ddce180735]::visit::Visitor>::visit_expr
25:     0x7fab15e62858 - rustc_ast[7c93c8ddce180735]::visit::walk_expr::<rustc_lint[b8a63091fca87301]::early::EarlyContextAndPass<rustc_lint[b8a63091fca87301]::early::EarlyLintPassObjects>>
26:     0x7fab15e53b15 - <rustc_lint[b8a63091fca87301]::early::EarlyContextAndPass<rustc_lint[b8a63091fca87301]::early::EarlyLintPassObjects> as rustc_ast[7c93c8ddce180735]::visit::Visitor>::visit_expr
27:     0x7fab15e60574 - rustc_ast[7c93c8ddce180735]::visit::walk_block::<rustc_lint[b8a63091fca87301]::early::EarlyContextAndPass<rustc_lint[b8a63091fca87301]::early::EarlyLintPassObjects>>
28:     0x7fab15e54530 - <rustc_lint[b8a63091fca87301]::early::EarlyContextAndPass<rustc_lint[b8a63091fca87301]::early::EarlyLintPassObjects> as rustc_ast[7c93c8ddce180735]::visit::Visitor>::visit_fn
29:     0x7fab15e62ca7 - rustc_ast[7c93c8ddce180735]::visit::walk_item::<rustc_lint[b8a63091fca87301]::early::EarlyContextAndPass<rustc_lint[b8a63091fca87301]::early::EarlyLintPassObjects>>
30:     0x7fab15e53bb7 - <rustc_lint[b8a63091fca87301]::early::EarlyContextAndPass<rustc_lint[b8a63091fca87301]::early::EarlyLintPassObjects> as rustc_ast[7c93c8ddce180735]::visit::Visitor>::visit_item
31:     0x7fab15e605c0 - rustc_ast[7c93c8ddce180735]::visit::walk_crate::<rustc_lint[b8a63091fca87301]::early::EarlyContextAndPass<rustc_lint[b8a63091fca87301]::early::EarlyLintPassObjects>>
32:     0x7fab15e2f566 - <&rustc_ast[7c93c8ddce180735]::ast::Crate as rustc_lint[b8a63091fca87301]::early::EarlyCheckNode>::check::<rustc_lint[b8a63091fca87301]::early::EarlyLintPassObjects>
33:     0x7fab15e5328e - rustc_lint[b8a63091fca87301]::early::early_lint_node::<rustc_lint[b8a63091fca87301]::early::EarlyLintPassObjects, &rustc_ast[7c93c8ddce180735]::ast::Crate>
34:     0x7fab14e77041 - rustc_lint[b8a63091fca87301]::early::check_ast_node::<rustc_lint[b8a63091fca87301]::BuiltinCombinedEarlyLintPass, &rustc_ast[7c93c8ddce180735]::ast::Crate>
35:     0x7fab14e304e4 - <rustc_session[42ee8faa39c38fa7]::session::Session>::time::<(), rustc_interface[dd0935127c48c7f9]::passes::configure_and_expand::{closure#8}>
36:     0x7fab14e2f558 - rustc_interface[dd0935127c48c7f9]::passes::configure_and_expand
37:     0x7fab14e27155 - <rustc_interface[dd0935127c48c7f9]::queries::Queries>::expansion
38:     0x7fab14e24a9c - <rustc_interface[dd0935127c48c7f9]::interface::Compiler>::enter::<rustc_driver[1ccfc15b19053e69]::run_compiler::{closure#1}::{closure#2}, core[dce7472969a47397]::result::Result<core[dce7472969a47397]::option::Option<rustc_interface[dd0935127c48c7f9]::queries::Linker>, rustc_errors[5744b8b77e19fb6f]::ErrorGuaranteed>>
39:     0x7fab14e1fbe2 - rustc_span[b4f976e64edbaa]::with_source_map::<core[dce7472969a47397]::result::Result<(), rustc_errors[5744b8b77e19fb6f]::ErrorGuaranteed>, rustc_interface[dd0935127c48c7f9]::interface::run_compiler<core[dce7472969a47397]::result::Result<(), rustc_errors[5744b8b77e19fb6f]::ErrorGuaranteed>, rustc_driver[1ccfc15b19053e69]::run_compiler::{closure#1}>::{closure#0}::{closure#1}>
40:     0x7fab14e1f6d9 - <scoped_tls[cfd1edf1847ccb4]::ScopedKey<rustc_span[b4f976e64edbaa]::SessionGlobals>>::set::<rustc_interface[dd0935127c48c7f9]::interface::run_compiler<core[dce7472969a47397]::result::Result<(), rustc_errors[5744b8b77e19fb6f]::ErrorGuaranteed>, rustc_driver[1ccfc15b19053e69]::run_compiler::{closure#1}>::{closure#0}, core[dce7472969a47397]::result::Result<(), rustc_errors[5744b8b77e19fb6f]::ErrorGuaranteed>>
41:     0x7fab14e1ece8 - std[d57be1c6faf16e1d]::sys_common::backtrace::__rust_begin_short_backtrace::<rustc_interface[dd0935127c48c7f9]::util::run_in_thread_pool_with_globals<rustc_interface[dd0935127c48c7f9]::interface::run_compiler<core[dce7472969a47397]::result::Result<(), rustc_errors[5744b8b77e19fb6f]::ErrorGuaranteed>, rustc_driver[1ccfc15b19053e69]::run_compiler::{closure#1}>::{closure#0}, core[dce7472969a47397]::result::Result<(), rustc_errors[5744b8b77e19fb6f]::ErrorGuaranteed>>::{closure#0}::{closure#0}, core[dce7472969a47397]::result::Result<(), rustc_errors[5744b8b77e19fb6f]::ErrorGuaranteed>>
42:     0x7fab14e1ea0c - <<std[d57be1c6faf16e1d]::thread::Builder>::spawn_unchecked_<rustc_interface[dd0935127c48c7f9]::util::run_in_thread_pool_with_globals<rustc_interface[dd0935127c48c7f9]::interface::run_compiler<core[dce7472969a47397]::result::Result<(), rustc_errors[5744b8b77e19fb6f]::ErrorGuaranteed>, rustc_driver[1ccfc15b19053e69]::run_compiler::{closure#1}>::{closure#0}, core[dce7472969a47397]::result::Result<(), rustc_errors[5744b8b77e19fb6f]::ErrorGuaranteed>>::{closure#0}::{closure#0}, core[dce7472969a47397]::result::Result<(), rustc_errors[5744b8b77e19fb6f]::ErrorGuaranteed>>::{closure#1} as core[dce7472969a47397]::ops::function::FnOnce<()>>::call_once::{shim:vtable#0}
43:     0x7fab168b6303 - <alloc::boxed::Box<F,A> as core::ops::function::FnOnce<Args>>::call_once::h154516b04fb62ae5
                             at /rustc/83356b78c4ff3e7d84e977aa6143793545967301/library/alloc/src/boxed.rs:2000:9
44:     0x7fab168b6303 - <alloc::boxed::Box<F,A> as core::ops::function::FnOnce<Args>>::call_once::hb190b2908ef18471
                             at /rustc/83356b78c4ff3e7d84e977aa6143793545967301/library/alloc/src/boxed.rs:2000:9
45:     0x7fab168b6303 - std::sys::unix::thread::Thread::new::thread_start::hdc92672b86852da9
                             at /rustc/83356b78c4ff3e7d84e977aa6143793545967301/library/std/src/sys/unix/thread.rs:108:17
46:     0x7fab126218fd - <unknown>
47:     0x7fab126a3a60 - <unknown>
48:                0x0 - <unknown>

error: internal compiler error: unexpected panic

note: the compiler unexpectedly panicked. this is a bug.

note: we would appreciate a bug report: https://github.com/rust-lang/rust-clippy/issues/new

note: Clippy version: clippy 0.1.66 (83356b7 2022-11-17)

query stack during panic:
end of query stack

@matthiaskrgr matthiaskrgr added C-bug Category: Clippy is not doing the correct thing I-ICE Issue: Clippy panicked, giving an Internal Compilation Error (ICE) ❄️ labels Nov 18, 2022
bors added a commit that referenced this issue Nov 20, 2022
Keep original literal notation in suggestion

While I did some investigation of #9866 (I couldn't reproduce it though) I found that `unused_rounding` formats as follows:

```rust
3.0_f64.round() // => 3.0f64
```

This PR makes them preserve as the original notation.

```rust
3.0_f64.round() // => 3.0_f64
```

changelog: Suggestion Enhancement: [`unused_rounding`]: The suggestion now preserves the original float literal notation
@bors bors closed this as completed in 1cdb06d Nov 30, 2022
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
C-bug Category: Clippy is not doing the correct thing I-ICE Issue: Clippy panicked, giving an Internal Compilation Error (ICE) ❄️
Projects
None yet
Development

Successfully merging a pull request may close this issue.

1 participant