Skip to content

Failed to compile hyper with NLL feature enabled #53182

Closed
@kpy3

Description

@kpy3

Tried to compile our project with flags from (https://internals.rust-lang.org/t/help-us-get-non-lexical-lifetimes-nll-over-the-finish-line/7807/7) with no luck because of error in rust compiler.

Here is the output of RUST_BACKTRACE=1 RUSTFLAGS="-Zborrowck=mir -Ztwo-phase-borrows" cargo build --verbose:

...
   Compiling hyper v0.11.27
     Running `rustc --crate-name hyper /Users/yes/.cargo/registry/src/github.com-1ecc6299db9ec823/hyper-0.11.27/src/lib.rs --crate-type lib --emit=dep-info,link -C debuginfo=2 --cfg 'feature="default"' --cfg 'feature="server-proto"' --cfg 'feature="tokio-proto"' -C metadata=506553880e6416d5 -C extra-filename=-506553880e6416d5 --out-dir /Users/yes/Projects/qtool/target/debug/deps -L dependency=/Users/yes/Projects/qtool/target/debug/deps --extern base64=/Users/yes/Projects/qtool/target/debug/deps/libbase64-3dbbf3145f7ab4fe.rlib --extern bytes=/Users/yes/Projects/qtool/target/debug/deps/libbytes-54133b4453697696.rlib --extern futures_cpupool=/Users/yes/Projects/qtool/target/debug/deps/libfutures_cpupool-7c94e2b49f6205e1.rlib --extern futures=/Users/yes/Projects/qtool/target/debug/deps/libfutures-613c59f671f7def3.rlib --extern httparse=/Users/yes/Projects/qtool/target/debug/deps/libhttparse-16a129ac63f780ed.rlib --extern iovec=/Users/yes/Projects/qtool/target/debug/deps/libiovec-68a64714ce5ec3f6.rlib --extern language_tags=/Users/yes/Projects/qtool/target/debug/deps/liblanguage_tags-3ee8d99e65c7e1b5.rlib --extern log=/Users/yes/Projects/qtool/target/debug/deps/liblog-a8537d631d36ec6c.rlib --extern mime=/Users/yes/Projects/qtool/target/debug/deps/libmime-8821582fb33f77fd.rlib --extern net2=/Users/yes/Projects/qtool/target/debug/deps/libnet2-2a25d4f6b21d7362.rlib --extern percent_encoding=/Users/yes/Projects/qtool/target/debug/deps/libpercent_encoding-982836aea913e42f.rlib --extern relay=/Users/yes/Projects/qtool/target/debug/deps/librelay-726de3dd27b4261c.rlib --extern time=/Users/yes/Projects/qtool/target/debug/deps/libtime-4e89a00301583a1d.rlib --extern tokio_core=/Users/yes/Projects/qtool/target/debug/deps/libtokio_core-76f9b0f3136d8a8d.rlib --extern tokio_io=/Users/yes/Projects/qtool/target/debug/deps/libtokio_io-d52ccce1896283d7.rlib --extern tokio_proto=/Users/yes/Projects/qtool/target/debug/deps/libtokio_proto-d5714cf0e8a6a43e.rlib --extern tokio_service=/Users/yes/Projects/qtool/target/debug/deps/libtokio_service-26918576540d93e5.rlib --extern unicase=/Users/yes/Projects/qtool/target/debug/deps/libunicase-ca1c97ff729aa9ca.rlib --extern want=/Users/yes/Projects/qtool/target/debug/deps/libwant-989afd12e265bd63.rlib --cap-lints allow -Zborrowck=mir -Ztwo-phase-borrows`
thread 'main' panicked at 'scrape_region_constraints: incoming region obligations = [
    (
        NodeId(
            4242
        ),
        RegionObligation(sub_region=ReStatic, sup_type=B)
    )
]', librustc/traits/query/type_op/custom.rs:85:5
stack backtrace:
   0: std::sys::unix::backtrace::tracing::imp::unwind_backtrace
   1: std::sys_common::backtrace::print
   2: std::panicking::default_hook::{{closure}}
   3: std::panicking::default_hook
   4: rustc::util::common::panic_hook
   5: std::panicking::rust_panic_with_hook
   6: std::panicking::continue_panic_fmt
   7: std::panicking::begin_panic_fmt
   8: <rustc::traits::query::type_op::custom::CustomTypeOp<F, G> as rustc::traits::query::type_op::TypeOp<'gcx, 'tcx>>::fully_perform
   9: rustc_mir::borrow_check::nll::type_check::type_check
  10: rustc_mir::borrow_check::nll::compute_regions
  11: rustc_mir::borrow_check::do_mir_borrowck
  12: rustc::ty::context::tls::with_related_context
  13: rustc::infer::InferCtxtBuilder::enter
  14: rustc_mir::borrow_check::mir_borrowck
  15: rustc::ty::query::__query_compute::mir_borrowck
  16: rustc::ty::query::<impl rustc::ty::query::config::QueryAccessors<'tcx> for rustc::ty::query::queries::mir_borrowck<'tcx>>::compute
  17: rustc::dep_graph::graph::DepGraph::with_task_impl
  18: rustc::ty::context::tls::with_related_context
  19: rustc::ty::query::plumbing::<impl rustc::ty::context::TyCtxt<'a, 'gcx, 'tcx>>::force_query_with_job
  20: rustc::ty::query::plumbing::<impl rustc::ty::context::TyCtxt<'a, 'gcx, 'tcx>>::get_query
  21: rustc::ty::query::<impl rustc::ty::context::TyCtxt<'a, 'tcx, 'lcx>>::mir_borrowck
  22: rustc_mir::borrow_check::nll::type_check::TypeChecker::check_stmt
  23: rustc_mir::borrow_check::nll::type_check::TypeChecker::typeck_mir
  24: rustc_mir::borrow_check::nll::type_check::type_check
  25: rustc_mir::borrow_check::nll::compute_regions
  26: rustc_mir::borrow_check::do_mir_borrowck
  27: rustc::ty::context::tls::with_related_context
  28: rustc::infer::InferCtxtBuilder::enter
  29: rustc_mir::borrow_check::mir_borrowck
  30: rustc::ty::query::__query_compute::mir_borrowck
  31: rustc::ty::query::<impl rustc::ty::query::config::QueryAccessors<'tcx> for rustc::ty::query::queries::mir_borrowck<'tcx>>::compute
  32: rustc::dep_graph::graph::DepGraph::with_task_impl
  33: rustc::ty::context::tls::with_related_context
  34: rustc::ty::query::plumbing::<impl rustc::ty::context::TyCtxt<'a, 'gcx, 'tcx>>::force_query_with_job
  35: rustc::ty::query::plumbing::<impl rustc::ty::context::TyCtxt<'a, 'gcx, 'tcx>>::get_query
  36: rustc::ty::query::<impl rustc::ty::context::TyCtxt<'a, 'tcx, 'lcx>>::mir_borrowck
  37: rustc::ty::<impl rustc::ty::context::TyCtxt<'a, 'gcx, 'tcx>>::par_body_owners
  38: rustc::util::common::time
  39: rustc::ty::context::tls::enter_context
  40: <std::thread::local::LocalKey<T>>::with
  41: rustc::ty::context::TyCtxt::create_and_enter
  42: rustc_driver::driver::compile_input
  43: rustc_driver::run_compiler_with_pool
  44: <scoped_tls::ScopedKey<T>>::set
  45: syntax::with_globals
  46: <std::panic::AssertUnwindSafe<F> as core::ops::function::FnOnce<()>>::call_once
  47: __rust_maybe_catch_panic
  48: rustc_driver::run
  49: rustc_driver::main
  50: std::rt::lang_start::{{closure}}
  51: std::panicking::try::do_call
  52: __rust_maybe_catch_panic
  53: std::rt::lang_start_internal
  54: main
query stack during panic:
#0 [mir_borrowck] processing `<client::Client<C, B>>::send_request::{{closure}}`
#1 [mir_borrowck] processing `<client::Client<C, B>>::send_request`
end of query stack

error: internal compiler error: unexpected panic

note: the compiler unexpectedly panicked. this is a bug.

note: we would appreciate a bug report: https://github.com/rust-lang/rust/blob/master/CONTRIBUTING.md#bug-reports

note: rustc 1.30.0-nightly (73c78734b 2018-08-05) running on x86_64-apple-darwin

note: compiler flags: -Z borrowck=mir -Z two-phase-borrows -C debuginfo=2 --crate-type lib

note: some of the compiler flags provided by cargo are hidden

error: Could not compile `hyper`.

Caused by:
  process didn't exit successfully: `rustc --crate-name hyper /Users/yes/.cargo/registry/src/github.com-1ecc6299db9ec823/hyper-0.11.27/src/lib.rs --crate-type lib --emit=dep-info,link -C debuginfo=2 --cfg 'feature="default"' --cfg 'feature="server-proto"' --cfg 'feature="tokio-proto"' -C metadata=506553880e6416d5 -C extra-filename=-506553880e6416d5 --out-dir /Users/yes/Projects/qtool/target/debug/deps -L dependency=/Users/yes/Projects/qtool/target/debug/deps --extern base64=/Users/yes/Projects/qtool/target/debug/deps/libbase64-3dbbf3145f7ab4fe.rlib --extern bytes=/Users/yes/Projects/qtool/target/debug/deps/libbytes-54133b4453697696.rlib --extern futures_cpupool=/Users/yes/Projects/qtool/target/debug/deps/libfutures_cpupool-7c94e2b49f6205e1.rlib --extern futures=/Users/yes/Projects/qtool/target/debug/deps/libfutures-613c59f671f7def3.rlib --extern httparse=/Users/yes/Projects/qtool/target/debug/deps/libhttparse-16a129ac63f780ed.rlib --extern iovec=/Users/yes/Projects/qtool/target/debug/deps/libiovec-68a64714ce5ec3f6.rlib --extern language_tags=/Users/yes/Projects/qtool/target/debug/deps/liblanguage_tags-3ee8d99e65c7e1b5.rlib --extern log=/Users/yes/Projects/qtool/target/debug/deps/liblog-a8537d631d36ec6c.rlib --extern mime=/Users/yes/Projects/qtool/target/debug/deps/libmime-8821582fb33f77fd.rlib --extern net2=/Users/yes/Projects/qtool/target/debug/deps/libnet2-2a25d4f6b21d7362.rlib --extern percent_encoding=/Users/yes/Projects/qtool/target/debug/deps/libpercent_encoding-982836aea913e42f.rlib --extern relay=/Users/yes/Projects/qtool/target/debug/deps/librelay-726de3dd27b4261c.rlib --extern time=/Users/yes/Projects/qtool/target/debug/deps/libtime-4e89a00301583a1d.rlib --extern tokio_core=/Users/yes/Projects/qtool/target/debug/deps/libtokio_core-76f9b0f3136d8a8d.rlib --extern tokio_io=/Users/yes/Projects/qtool/target/debug/deps/libtokio_io-d52ccce1896283d7.rlib --extern tokio_proto=/Users/yes/Projects/qtool/target/debug/deps/libtokio_proto-d5714cf0e8a6a43e.rlib --extern tokio_service=/Users/yes/Projects/qtool/target/debug/deps/libtokio_service-26918576540d93e5.rlib --extern unicase=/Users/yes/Projects/qtool/target/debug/deps/libunicase-ca1c97ff729aa9ca.rlib --extern want=/Users/yes/Projects/qtool/target/debug/deps/libwant-989afd12e265bd63.rlib --cap-lints allow -Zborrowck=mir -Ztwo-phase-borrows` (exit code: 101)

Metadata

Metadata

Assignees

No one assigned

    Labels

    A-NLLArea: Non-lexical lifetimes (NLL)I-ICEIssue: The compiler panicked, giving an Internal Compilation Error (ICE) ❄️NLL-completeWorking towards the "valid code works" goalT-compilerRelevant to the compiler team, which will review and decide on the PR/issue.

    Type

    No type

    Projects

    No projects

    Milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions