Skip to content

crash with typeof keyword #4586

New issue

Have a question about this project? # for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “#”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? # to your account

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
# for free to join this conversation on GitHub. Already have an account? # 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