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

crash with typeof keyword #4586

Closed
matthiaskrgr opened this issue Dec 12, 2020 · 2 comments
Closed

crash with typeof keyword #4586

matthiaskrgr opened this issue Dec 12, 2020 · 2 comments
Labels
1x-backport:completed bug Panic, non-idempotency, invalid code, etc. duplicate

Comments

@matthiaskrgr
Copy link
Member

This snippet triggers unreachable code inside rustfmt

fn main() {
    let x: typeof(92) = 92;
}

rustfmt code.rs

thread 'main' panicked at 'internal error: entered unreachable code', src/tools/rustfmt/src/types.rs:800:59
stack backtrace:
   0:     0x5653bb8c9aa7 - std::backtrace_rs::backtrace::libunwind::trace::h746c3e9529d524bc
                               at /rustc/2225ee1b62ff089917434aefd9b2bf509cfa087f/library/std/src/../../backtrace/src/backtrace/libunwind.rs:90:5
   1:     0x5653bb8c9aa7 - std::backtrace_rs::backtrace::trace_unsynchronized::h86340908ff889faa
                               at /rustc/2225ee1b62ff089917434aefd9b2bf509cfa087f/library/std/src/../../backtrace/src/backtrace/mod.rs:66:5
   2:     0x5653bb8c9aa7 - std::sys_common::backtrace::_print_fmt::h43f85f9b18230404
                               at /rustc/2225ee1b62ff089917434aefd9b2bf509cfa087f/library/std/src/sys_common/backtrace.rs:67:5
   3:     0x5653bb8c9aa7 - <std::sys_common::backtrace::_print::DisplayBacktrace as core::fmt::Display>::fmt::hc132ae1a5b5aa7cd
                               at /rustc/2225ee1b62ff089917434aefd9b2bf509cfa087f/library/std/src/sys_common/backtrace.rs:46:22
   4:     0x5653bb8ed83c - core::fmt::write::hdf023a0036d2a25f
                               at /rustc/2225ee1b62ff089917434aefd9b2bf509cfa087f/library/core/src/fmt/mod.rs:1078:17
   5:     0x5653bb8c6462 - std::io::Write::write_fmt::h8580846154bcb66a
                               at /rustc/2225ee1b62ff089917434aefd9b2bf509cfa087f/library/std/src/io/mod.rs:1519:15
   6:     0x5653bb8cba75 - std::sys_common::backtrace::_print::h7ee55fed88d107a3
                               at /rustc/2225ee1b62ff089917434aefd9b2bf509cfa087f/library/std/src/sys_common/backtrace.rs:49:5
   7:     0x5653bb8cba75 - std::sys_common::backtrace::print::h54a7d3e52a524177
                               at /rustc/2225ee1b62ff089917434aefd9b2bf509cfa087f/library/std/src/sys_common/backtrace.rs:36:9
   8:     0x5653bb8cba75 - std::panicking::default_hook::{{closure}}::h60921e857bf55a40
                               at /rustc/2225ee1b62ff089917434aefd9b2bf509cfa087f/library/std/src/panicking.rs:208:50
   9:     0x5653bb8cb5ca - std::panicking::default_hook::hf0f9afb1017317fc
                               at /rustc/2225ee1b62ff089917434aefd9b2bf509cfa087f/library/std/src/panicking.rs:225:9
  10:     0x5653bb8cc211 - std::panicking::rust_panic_with_hook::h8d66bf42b407aaea
                               at /rustc/2225ee1b62ff089917434aefd9b2bf509cfa087f/library/std/src/panicking.rs:591:17
  11:     0x5653bb8cbd27 - std::panicking::begin_panic_handler::{{closure}}::hde71edcd925d0c5e
                               at /rustc/2225ee1b62ff089917434aefd9b2bf509cfa087f/library/std/src/panicking.rs:495:13
  12:     0x5653bb8c9f6c - std::sys_common::backtrace::__rust_end_short_backtrace::h8a3c7d6cea578919
                               at /rustc/2225ee1b62ff089917434aefd9b2bf509cfa087f/library/std/src/sys_common/backtrace.rs:141:18
  13:     0x5653bb8cbcb9 - rust_begin_unwind
                               at /rustc/2225ee1b62ff089917434aefd9b2bf509cfa087f/library/std/src/panicking.rs:493:5
  14:     0x5653bb8eada1 - core::panicking::panic_fmt::h20225113c4a2f8fd
                               at /rustc/2225ee1b62ff089917434aefd9b2bf509cfa087f/library/core/src/panicking.rs:92:14
  15:     0x5653bb8eaced - core::panicking::panic::h35b77276aa4b0c12
                               at /rustc/2225ee1b62ff089917434aefd9b2bf509cfa087f/library/core/src/panicking.rs:50:5
  16:     0x5653bb55baa4 - rustfmt_nightly::types::<impl rustfmt_nightly::rewrite::Rewrite for rustc_ap_rustc_ast::ast::Ty>::rewrite::h9f4cd41d459c7588
  17:     0x5653bb54eab0 - rustfmt_nightly::items::<impl rustfmt_nightly::rewrite::Rewrite for rustc_ap_rustc_ast::ast::Local>::rewrite::h15bb5cb0621c4cbf
  18:     0x5653bb53f27c - rustfmt_nightly::stmt::format_stmt::hc58ba823d7c5100e
  19:     0x5653bb51b60b - rustfmt_nightly::visitor::FmtVisitor::walk_stmts::haa0a93d92a521d53
  20:     0x5653bb510807 - rustfmt_nightly::visitor::FmtVisitor::visit_block::hcf50fe0d7506815e
  21:     0x5653bb512daa - rustfmt_nightly::visitor::FmtVisitor::visit_fn::h54dcf02e6f755bd3
  22:     0x5653bb51446e - rustfmt_nightly::visitor::FmtVisitor::visit_item::heabda1994f25a79c
  23:     0x5653bb50cd1d - rustfmt_nightly::reorder::<impl rustfmt_nightly::visitor::FmtVisitor>::visit_items_with_reordering::h0f6128ffa99c0323
  24:     0x5653bb51af6a - rustfmt_nightly::visitor::FmtVisitor::walk_mod_items::h5932cd0955f73479
  25:     0x5653bb51b9d9 - rustfmt_nightly::visitor::FmtVisitor::format_separate_mod::h4ccdaa67ac74f971
  26:     0x5653bb45ae94 - rustfmt_nightly::formatting::format_project::h75f3cb078ea2edba
  27:     0x5653bb4643ee - scoped_tls::ScopedKey<T>::set::h46570b94864b4223
  28:     0x5653bb45e789 - rustfmt_nightly::Session<T>::format::h16e5c985cca65c6b
  29:     0x5653bb46e8fb - rustfmt::format_and_emit_report::h34b4f1b50145fd6f
  30:     0x5653bb45e09d - rustfmt_nightly::Session<T>::override_config::h588d4c0abb82dcad
  31:     0x5653bb46bf8d - rustfmt::execute::hbead43f61fce9ab6
  32:     0x5653bb4689fd - rustfmt::main::hdc579be80dab480f
  33:     0x5653bb4608b3 - std::sys_common::backtrace::__rust_begin_short_backtrace::h425146d795f70aec
  34:     0x5653bb460c09 - std::rt::lang_start::{{closure}}::h1a880688683e8956
  35:     0x5653bb8cc727 - core::ops::function::impls::<impl core::ops::function::FnOnce<A> for &F>::call_once::h54c39b9b8451875a
                               at /rustc/2225ee1b62ff089917434aefd9b2bf509cfa087f/library/core/src/ops/function.rs:259:13
  36:     0x5653bb8cc727 - std::panicking::try::do_call::hcdfba51a06e21b42
                               at /rustc/2225ee1b62ff089917434aefd9b2bf509cfa087f/library/std/src/panicking.rs:379:40
  37:     0x5653bb8cc727 - std::panicking::try::hb36953ccd24f930d
                               at /rustc/2225ee1b62ff089917434aefd9b2bf509cfa087f/library/std/src/panicking.rs:343:19
  38:     0x5653bb8cc727 - std::panic::catch_unwind::hbb374cd03beb3824
                               at /rustc/2225ee1b62ff089917434aefd9b2bf509cfa087f/library/std/src/panic.rs:396:14
  39:     0x5653bb8cc727 - std::rt::lang_start_internal::h97dca9624db2aa85
                               at /rustc/2225ee1b62ff089917434aefd9b2bf509cfa087f/library/std/src/rt.rs:51:25
  40:     0x5653bb46f552 - main
  41:     0x7f1497f84152 - __libc_start_main
  42:     0x5653bb454f59 - <unknown>

rustfmt 1.4.29-nightly (70ce182 2020-12-04)

@matthiaskrgr matthiaskrgr added the bug Panic, non-idempotency, invalid code, etc. label Dec 12, 2020
@calebcartwright
Copy link
Member

Closing as duplicate of #4357 which has already been fixed in source but not backported to a 1.x release. Backporting hasn't been a high priority given the inputs are invalid

@calebcartwright calebcartwright added duplicate 1x-backport:pending Fixed/resolved in source but not yet backported to a 1x branch and release labels Dec 12, 2020
@calebcartwright
Copy link
Member

Backported in v1.4.30

@calebcartwright calebcartwright added 1x-backport:completed and removed 1x-backport:pending Fixed/resolved in source but not yet backported to a 1x branch and release labels Dec 24, 2020
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
1x-backport:completed bug Panic, non-idempotency, invalid code, etc. duplicate
Projects
None yet
Development

No branches or pull requests

2 participants