Skip to content

Compiler crash when reexporting types from submodule in a crate #14337

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

Closed
tailhook opened this issue May 21, 2014 · 1 comment
Closed

Compiler crash when reexporting types from submodule in a crate #14337

tailhook opened this issue May 21, 2014 · 1 comment

Comments

@tailhook
Copy link

Example files to reproduce an issue is at https://gist.github.com/tailhook/bbfa10b5b9f3f3084cb1

The error exists both in 0.10 and current master (0.10-1417-g6291955)

Here is a log:

rustc mycrate.rs
mycrate.rs:9:16: 9:19 warning: unused variable: `val`, #[warn(unused_variable)] on by default
mycrate.rs:9     pub fn fun(val:B) {
                            ^~~
RUST_BACKTRACE=1 rustc main.rs -L .
error: internal compiler error: unexpected failure
note: the compiler hit an unexpected failure path. this is a bug.
note: we would appreciate a bug report: http://static.rust-lang.org/doc/master/complement-bugreport.html
note: run with `RUST_BACKTRACE=1` for a backtrace
task 'rustc' failed at 'expected bare rust fn or an intrinsic', /home/pc/dev/rust/src/librustc/middle/trans/base.rs:1698
stack backtrace:
   1:     0x7fdc660b7690 - rt::backtrace::imp::write::h4a769fa43752fbf0Z7y::v0.11.0.pre
   2:     0x7fdc66036860 - rt::unwind::begin_unwind_inner::h3d911f9e5daefe5b6Hy::v0.11.0.pre
   3:     0x7fdc66b84650 - rt::unwind::begin_unwind::h9770937678070169441::v0.11.0.pre
   4:     0x7fdc66c8f3d0 - middle::trans::base::register_fn::hcb213da416d88dd4sEp::v0.11.0.pre
   5:     0x7fdc66b92cf0 - middle::trans::base::get_item_val::h757ced7b05a3a84aXRp::v0.11.0.pre
   6:     0x7fdc66bf7600 - middle::trans::callee::trans_fn_ref_with_vtables::h3408702b70b1f98aehd::v0.11.0.pre
   7:     0x7fdc66bf3110 - middle::trans::callee::trans_fn_ref::hdd92f9e3e3ffc190mad::v0.11.0.pre
   8:     0x7fdc66c15d80 - middle::trans::expr::trans_def::h709468352259bfd6S6e::v0.11.0.pre
   9:     0x7fdc66c0b2b0 - middle::trans::expr::trans_unadjusted::h72693b0d94caadb5QMe::v0.11.0.pre
  10:     0x7fdc66bcf810 - middle::trans::expr::trans::hf45d27448f80c915Gte::v0.11.0.pre
  11:     0x7fdc66c05810 - middle::trans::callee::trans_args::hfcfa6ff076aecb93h0d::v0.11.0.pre
  12:     0x7fdc66c01a50 - middle::trans::callee::trans_call_inner::hbe7ea2cdc5d541ef1Fd::v0.11.0.pre
  13:     0x7fdc66c01820 - middle::trans::callee::trans_call::h5d72562e24d4e4ec9zd::v0.11.0.pre
  14:     0x7fdc66c0c3d0 - middle::trans::expr::trans_rvalue_dps_unadjusted::hb48a37728c7fa1d9Aff::v0.11.0.pre
  15:     0x7fdc66bcd6e0 - middle::trans::expr::trans_into::hc522ad7fce2802caKpe::v0.11.0.pre
  16:     0x7fdc66bcc9c0 - middle::trans::controlflow::trans_stmt_semi::hcca0cd428398ac65M6a::v0.11.0.pre
  17:     0x7fdc66bcbec0 - middle::trans::controlflow::trans_stmt::hfe748cb6dfc7f512y2a::v0.11.0.pre
  18:     0x7fdc66bcdc90 - middle::trans::controlflow::trans_block::h5a736e8fb88dd992F7a::v0.11.0.pre
  19:     0x7fdc66c886c0 - middle::trans::base::trans_closure::he75147a929d248faMdp::v0.11.0.pre
  20:     0x7fdc66b973e0 - middle::trans::base::trans_fn::haf24a474b454da0a2lp::v0.11.0.pre
  21:     0x7fdc66b91c20 - middle::trans::base::trans_item::h1b152661d463ef25yxp::v0.11.0.pre
  22:     0x7fdc66c96670 - middle::trans::base::trans_crate::hbe3cd29c7385aad1Yjq::v0.11.0.pre
  23:     0x7fdc673b47c0 - driver::driver::phase_4_translate_to_llvm::h30f271f2f468f1eaJcj::v0.11.0.pre
  24:     0x7fdc673a9fa0 - driver::driver::compile_input::ha9e4162ad1fc71cfkUi::v0.11.0.pre
  25:     0x7fdc674558d0 - driver::run_compiler::h961a616c0b78cf6a6vl::v0.11.0.pre
  26:     0x7fdc674557f0 - driver::main_args::closure.93372
  27:     0x7fdc6746cc30 - driver::monitor::closure.94510
  28:     0x7fdc67466fc0 - task::TaskBuilder::try::closure.94277
  29:     0x7fdc665e6cb0 - task::spawn_opts::closure.7930
  30:     0x7fdc660ad860 - rt::task::Task::run::closure.25443
  31:     0x7fdc6611d040 - rust_try
  32:     0x7fdc660ad7b0 - rt::task::Task::run::ha6deb4f12cb8038esxw::v0.11.0.pre
  33:     0x7fdc665e6a60 - task::spawn_opts::closure.7903
  34:     0x7fdc660b5be0 - rt::thread::thread_start::hc73c4b93bd89f4c8Vgx::v0.11.0.pre
  35:     0x7fdc63b8a060 - start_thread
  36:     0x7fdc65cfd489 - __clone
  37:                0x0 - <unknown>

Makefile:2: recipe for target 'all' failed
make: *** [all] Error 101
@alexcrichton
Copy link
Member

Closing as a dupe of #12660

bors added a commit to rust-lang-ci/rust that referenced this issue Mar 20, 2023
internal: Allow the status bar item to be clicked again

And give that the most useful action for the given state.
flip1995 added a commit to flip1995/rust that referenced this issue Mar 20, 2025
This PR:

- lints more case of raw pointer comparisons
- do not omit the named function to raw pointer conversion before
suggesting
- trigger the `ptr_eq` lint only if `cmp_null` doesn't trigger first, as
this is a more specialized version
- lints against `!=` in addition to `==`

The `ptr_eq` code has been moved from under `operators` to `ptr.rs`, in
order to benefit from factorization.

Fix rust-lang#14337

changelog: [`ptr_eq`]: handle more cases
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants