Closed
Description
While using the rand
crate I accidentally misread rand::random::<f64>()
as rand::random<f64>()
and the compiler responded with an error and also a panic.
extern crate rand;
fn main() {
let random = rand::random<f64>();
}
Meta
rustc --version --verbose
:
rustc 1.36.0-nightly (e938c2b9a 2019-04-23)
binary: rustc
commit-hash: e938c2b9aae7e0c37c382e4e22bdc360e9a4f0b6
commit-date: 2019-04-23
host: x86_64-unknown-linux-gnu
release: 1.36.0-nightly
LLVM version: 8.0
(also fails on playground): https://play.rust-lang.org/?version=nightly&mode=debug&edition=2018&gist=229b9583f1b448072b0a182bb75f7900
Backtrace:
stack backtrace:
0: std::sys::unix::backtrace::tracing::imp::unwind_backtrace
at src/libstd/sys/unix/backtrace/tracing/gcc_s.rs:39
1: std::sys_common::backtrace::_print
at src/libstd/sys_common/backtrace.rs:71
2: std::panicking::default_hook::{{closure}}
at src/libstd/sys_common/backtrace.rs:59
at src/libstd/panicking.rs:197
3: std::panicking::default_hook
at src/libstd/panicking.rs:211
4: rustc::util::common::panic_hook
5: std::panicking::rust_panic_with_hook
at src/libstd/panicking.rs:478
6: std::panicking::continue_panic_fmt
at src/libstd/panicking.rs:381
7: rust_begin_unwind
at src/libstd/panicking.rs:308
8: core::panicking::panic_fmt
at src/libcore/panicking.rs:85
9: core::panicking::panic
at src/libcore/panicking.rs:49
10: rustc_typeck::check::has_typeck_tables
11: rustc::ty::query::__query_compute::has_typeck_tables
12: rustc::ty::query::<impl rustc::ty::query::config::QueryAccessors for rustc::ty::query::queries::has_typeck_tables>::compute
13: rustc::dep_graph::graph::DepGraph::with_task_impl
14: rustc::ty::query::plumbing::<impl rustc::ty::context::TyCtxt>::get_query
15: rustc_typeck::check::op::<impl rustc_typeck::check::FnCtxt>::add_type_neq_err_label
16: rustc_typeck::check::op::<impl rustc_typeck::check::FnCtxt>::check_overloaded_binop
17: rustc_typeck::check::op::<impl rustc_typeck::check::FnCtxt>::check_binop
18: rustc_typeck::check::FnCtxt::check_expr_kind
19: rustc_typeck::check::FnCtxt::check_expr_with_expectation_and_needs
20: rustc_typeck::check::op::<impl rustc_typeck::check::FnCtxt>::check_overloaded_binop
21: rustc_typeck::check::op::<impl rustc_typeck::check::FnCtxt>::check_binop
22: rustc_typeck::check::FnCtxt::check_expr_kind
23: rustc_typeck::check::FnCtxt::check_expr_with_expectation_and_needs
24: rustc_typeck::check::FnCtxt::check_decl_initializer
25: rustc_typeck::check::FnCtxt::check_decl_local
26: rustc_typeck::check::FnCtxt::check_stmt
27: rustc_typeck::check::FnCtxt::check_block_with_expected
28: rustc_typeck::check::FnCtxt::check_expr_kind
29: rustc_typeck::check::FnCtxt::check_expr_with_expectation_and_needs
30: rustc_typeck::check::FnCtxt::check_return_expr
31: rustc_typeck::check::check_fn
32: rustc::ty::context::GlobalCtxt::enter_local
33: rustc_typeck::check::typeck_tables_of
34: rustc::ty::query::__query_compute::typeck_tables_of
35: rustc::ty::query::<impl rustc::ty::query::config::QueryAccessors for rustc::ty::query::queries::typeck_tables_of>::compute
36: rustc::dep_graph::graph::DepGraph::with_task_impl
37: rustc::ty::query::plumbing::<impl rustc::ty::context::TyCtxt>::get_query
38: rustc::ty::<impl rustc::ty::context::TyCtxt>::par_body_owners
39: rustc_typeck::check::typeck_item_bodies
40: rustc::ty::query::__query_compute::typeck_item_bodies
41: rustc::ty::query::<impl rustc::ty::query::config::QueryAccessors for rustc::ty::query::queries::typeck_item_bodies>::compute
42: rustc::dep_graph::graph::DepGraph::with_task_impl
43: rustc::ty::query::plumbing::<impl rustc::ty::context::TyCtxt>::get_query
44: rustc::util::common::time
45: rustc_typeck::check_crate
46: rustc_interface::passes::analysis
47: rustc::ty::query::__query_compute::analysis
48: rustc::ty::query::<impl rustc::ty::query::config::QueryAccessors for rustc::ty::query::queries::analysis>::compute
49: rustc::dep_graph::graph::DepGraph::with_task_impl
50: rustc::ty::query::plumbing::<impl rustc::ty::context::TyCtxt>::get_query
51: rustc_interface::passes::BoxedGlobalCtxt::access::{{closure}}
52: rustc_interface::passes::create_global_ctxt::{{closure}}
53: rustc_interface::passes::BoxedGlobalCtxt::enter
54: rustc_interface::interface::run_compiler_in_existing_thread_pool
55: std::thread::local::LocalKey<T>::with
56: scoped_tls::ScopedKey<T>::set
57: syntax::with_globals
query stack during panic:
#0 [has_typeck_tables] processing `rand::random`
#1 [typeck_tables_of] processing `main`
#2 [typeck_item_bodies] type-checking all item bodies
#3 [analysis] running analysis passes on this crate
end of query stack