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

ICE (cannot relate bound region) with universally-quantified closure lifetime bound #19009

Closed
arielb1 opened this issue Nov 16, 2014 · 0 comments · Fixed by #19780
Closed

ICE (cannot relate bound region) with universally-quantified closure lifetime bound #19009

arielb1 opened this issue Nov 16, 2014 · 0 comments · Fixed by #19780
Labels
E-needs-test Call for participation: An issue has been fixed and does not reproduce, but no test has been added.

Comments

@arielb1
Copy link
Contributor

arielb1 commented Nov 16, 2014

The following code:

#![feature(lang_items)]
#![no_std]
#![crate_type="rlib"]
#[lang="sized"] pub trait Sized for Sized? {}

fn ice(f: for<'s> ||:'s) {}
fn main() { ice(||{}) }

causes the following ICE:

panic.rs:7:17: 7:21 error: internal compiler error: cannot relate bound region: ReLateBound(7, BrNamed(DefId { krate: 0, node: 10 }, 's)) <= '_#0r
panic.rs:7 fn main() { ice(||{}) }
                           ^~~~
note: the compiler unexpectedly panicked. this is a bug.
note: we would appreciate a bug report: http://doc.rust-lang.org/complement-bugreport.html
note: run with `RUST_BACKTRACE=1` for a backtrace
task 'rustc' panicked at 'Box<Any>', /home/rustbuild/src/rust-buildbot/slave/snap3-linux/build/src/libsyntax/diagnostic.rs:116

stack backtrace:
   1:     0x7f2de2506880 - rt::backtrace::imp::write::hcdc2f7be6d055c99Pdt
   2:     0x7f2de2509700 - failure::on_fail::h5788810ad30506feqzt
   3:     0x7f2de25250d0 - unwind::begin_unwind_inner::h95fceca7f7fff8e4E9c
   4:     0x7f2de1486ba0 - unwind::begin_unwind::h17288900196382632715
   5:     0x7f2de1486b20 - diagnostic::SpanHandler::span_bug::hc28ba54728d5da49oZF
   6:     0x7f2de103eeb0 - middle::typeck::infer::region_inference::RegionVarBindings<'a, 'tcx>::make_subregion::h8d93dddca703b8329uc
   7:     0x7f2de104f250 - middle::typeck::infer::sub::Sub<'f, 'tcx>.Combine<'tcx>::regions::h3adc46f8245aed4eC1e
   8:     0x7f2de104eff0 - middle::typeck::infer::sub::Sub<'f, 'tcx>.Combine<'tcx>::contraregions::h20372efe4f6663fe20e
   9:     0x7f2de1051c00 - middle::typeck::infer::combine::Combine::closure_tys::h17253834835442553283
  10:     0x7f2de0ff4270 - middle::typeck::infer::sub::Sub<'f, 'tcx>.Combine<'tcx>::tys::hc0c072841551908fm9e
  11:     0x7f2de0ff4100 - middle::typeck::infer::coercion::Coerce<'f, 'tcx>::subtype::h761550d7283e2cf7y85
  12:     0x7f2de0ff3da0 - middle::typeck::infer::coercion::Coerce<'f, 'tcx>::coerce_borrowed_fn::h5519897a090d27f0uQ6
  13:     0x7f2de0ff3d40 - middle::typeck::infer::coercion::Coerce<'f, 'tcx>::tys::closure.134443
  14:     0x7f2de0ff19f0 - middle::typeck::infer::coercion::Coerce<'f, 'tcx>::unpack_actual_value::h17085816543345179750
  15:     0x7f2de0ff1150 - middle::typeck::infer::coercion::Coerce<'f, 'tcx>::tys::he0c4ea99af0e5f6fZ05
  16:     0x7f2de105a890 - middle::typeck::infer::mk_coercety::closure.136277
  17:     0x7f2de105a5f0 - middle::typeck::infer::InferCtxt<'a, 'tcx>::commit_if_ok::closure.136269
  18:     0x7f2de105a480 - middle::typeck::infer::InferCtxt<'a, 'tcx>::commit_unconditionally::h1485868009903534266
  19:     0x7f2de0d9bdc0 - middle::typeck::infer::mk_coercety::ha26368b750869d196di
  20:     0x7f2de0f31de0 - middle::typeck::check::FnCtxt<'a, 'tcx>::mk_assignty::h5bf4da584e36fc1bNkY
  21:     0x7f2de0f31a50 - middle::typeck::check::demand::coerce::h4d0a0c0e48366a432aS
  22:     0x7f2de0f9e380 - middle::typeck::check::check_expr_coercable_to_type::closure.133451
  23:     0x7f2de0f948c0 - middle::typeck::check::check_expr_with_unifier::h304cbc594fc73fa9vGZ
  24:     0x7f2de0f93000 - middle::typeck::check::check_argument_types::h86d271aa00d8ca66p7Y
  25:     0x7f2de0f948c0 - middle::typeck::check::check_expr_with_unifier::h304cbc594fc73fa9vGZ
  26:     0x7f2de0f5a4e0 - middle::typeck::check::check_block_with_expected::hfe6034b5fa76b64aBR1
  27:     0x7f2de0f55f50 - middle::typeck::check::check_fn::hd588b519b8e4dff0ViW
  28:     0x7f2de0f55c90 - middle::typeck::check::check_bare_fn::h62e026ad7d690a0da8V
  29:     0x7f2de0f51d90 - middle::typeck::check::check_item::hd44c3c50a5dfb9a2jsW
  30:     0x7f2de0f55a40 - middle::typeck::check::check_item_types::h81b3d7ebec550ce0k7V
  31:     0x7f2de0a73130 - util::common::time::h1019099971939974795
  32:     0x7f2de1272390 - middle::typeck::check_crate::h0ed70082c7a4b6f2hup
  33:     0x7f2de12d5c30 - driver::driver::phase_3_run_analysis_passes::h8e79204e3159e776IdC
  34:     0x7f2de12d0c70 - driver::driver::compile_input::hf4591f6ef7b02566tUB
  35:     0x7f2de1350e40 - driver::run_compiler::h8547738c3b140275KKF
  36:     0x7f2de1350d30 - driver::run::closure.146360
  37:     0x7f2de0a8b9e0 - task::TaskBuilder<S>::try_future::closure.104798
  38:     0x7f2de0a8b7d0 - task::TaskBuilder<S>::spawn_internal::closure.104769
  39:     0x7f2de0a543d0 - task::NativeSpawner.Spawner::spawn::closure.2582
  40:     0x7f2de2525c40 - rust_try_inner
  41:     0x7f2de2525c30 - rust_try
  42:     0x7f2de2523230 - unwind::try::h242542d3bd53ca70mYc
  43:     0x7f2de25230d0 - task::Task::run::h5e3f75748e9fc0b3u4b
  44:     0x7f2de0a54110 - task::NativeSpawner.Spawner::spawn::closure.2508
  45:     0x7f2de2524240 - thread::thread_start::heed63dda248c44e2rpc
  46:     0x7f2de02a1dc0 - start_thread
  47:                0x0 - <unknown>
@ghost ghost added the E-needs-test Call for participation: An issue has been fixed and does not reproduce, but no test has been added. label Nov 19, 2014
bors added a commit that referenced this issue Dec 18, 2014
Closes #5988.
Closes #10176.
Closes #10456.
Closes #12744.
Closes #13264.
Closes #13324.
Closes #14182.
Closes #15381.
Closes #15444.
Closes #15480.
Closes #15756.
Closes #16822.
Closes #16966.
Closes #17351.
Closes #17503.
Closes #17545.
Closes #17771.
Closes #17816.
Closes #17897.
Closes #17905.
Closes #18188.
Closes #18232.
Closes #18345.
Closes #18389.
Closes #18400.
Closes #18502.
Closes #18611.
Closes #18783.
Closes #19009.
Closes #19081.
Closes #19098.
Closes #19127.
Closes #19135.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
E-needs-test Call for participation: An issue has been fixed and does not reproduce, but no test has been added.
Projects
None yet
Development

Successfully merging a pull request may close this issue.

1 participant