Skip to content

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

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
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
# for free to join this conversation on GitHub. Already have an account? # to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants