Rust internal compiler error reproduction

  • Install the following toolchain:

    active toolchain
    ----------------
    
    nightly-aarch64-apple-darwin (default)
    rustc 1.67.0-nightly (c090c6880 2022-12-01)
    
  • cargo build

  • Observe the following error:

    ❯ cargo build
    Compiling app v0.1.0 (/Users/ross/Projects/2022-12-rust-ice-repro/app)
    warning: Error finalizing incremental compilation session directory `/Users/ross/Projects/2022-12-rust-ice-repro/target/debug/incremental/app-5et5s3dwp6o/s-gfyk896lbq-d4air8-working`: No such file or directory (os error 2)
    
    error: internal compiler error: no errors encountered even though `delay_span_bug` issued
    
    error: internal compiler error: broken MIR in DropGlue(DefId(2:2803 ~ core[84ec]::ptr::drop_in_place), Some(hyper::server::server::new_svc::State<hyper::server::tcp::addr_stream::AddrStream, futures_util::future::ready::Ready<std::result::Result<hyper::service::util::ServiceFn<[closure@warp::server::Server<warp::filters::cors::internal::CorsFilter<warp::filter::or::Or<warp::filter::and_then::AndThen<warp::filter::and::And<warp::filter::and::And<warp::filter::unify::Unify<warp::filter::or::Or<warp::filter::FilterFn<[closure@warp::filters::method::method_is<[closure@warp::filters::method::get::{closure#0}]>::{closure#0}]>, warp::filter::FilterFn<[closure@warp::filters::method::method_is<[closure@warp::filters::method::head::{closure#0}]>::{closure#0}]>>>, warp::filter::and_then::AndThen<warp::filter::FilterFn<[closure@warp::filters::path::tail::{closure#0}]>, [closure@warp::filters::fs::path_from_tail::{closure#0}]>>, warp::filter::map::Map<warp::filter::and::And<warp::filter::and::And<warp::filter::and::And<warp::filter::FilterFn<[closure@warp::filter::filter_fn_one<[closure@warp::filters::header::optional2<headers::common::if_modified_since::IfModifiedSince>::{closure#0}], futures_util::future::ready::Ready<std::result::Result<std::option::Option<headers::common::if_modified_since::IfModifiedSince>, std::convert::Infallible>>>::{closure#0}]>, warp::filter::FilterFn<[closure@warp::filter::filter_fn_one<[closure@warp::filters::header::optional2<headers::common::if_unmodified_since::IfUnmodifiedSince>::{closure#0}], futures_util::future::ready::Ready<std::result::Result<std::option::Option<headers::common::if_unmodified_since::IfUnmodifiedSince>, std::convert::Infallible>>>::{closure#0}]>>, warp::filter::FilterFn<[closure@warp::filter::filter_fn_one<[closure@warp::filters::header::optional2<headers::common::if_range::IfRange>::{closure#0}], futures_util::future::ready::Ready<std::result::Result<std::option::Option<headers::common::if_range::IfRange>, std::convert::Infallible>>>::{closure#0}]>>, warp::filter::FilterFn<[closure@warp::filter::filter_fn_one<[closure@warp::filters::header::optional2<headers::common::range::Range>::{closure#0}], futures_util::future::ready::Ready<std::result::Result<std::option::Option<headers::common::range::Range>, std::convert::Infallible>>>::{closure#0}]>>, [closure@warp::filters::fs::conditionals::{closure#0}]>>, fn(warp::filters::fs::ArcPath, warp::filters::fs::Conditionals) -> impl std::future::Future<Output = std::result::Result<warp::filters::fs::File, warp::reject::Rejection>> + std::marker::Send {warp::filters::fs::file_reply}>, warp::filter::and_then::AndThen<warp::filter::FilterFn<[closure@warp::filters::method::method_is<[closure@warp::filters::method::get::{closure#0}]>::{closure#0}]>, fn() -> impl std::future::Future<Output = std::result::Result<impl warp::reply::Reply, std::convert::Infallible>> {server::serve_foo}>>>>::bind_ephemeral<([u8; 4], u16)>::{closure#1}::{closure#0}::{closure#0}], hyper::body::body::Body>, std::convert::Infallible>>, hyper::service::util::ServiceFn<[closure@warp::server::Server<warp::filters::cors::internal::CorsFilter<warp::filter::or::Or<warp::filter::and_then::AndThen<warp::filter::and::And<warp::filter::and::And<warp::filter::unify::Unify<warp::filter::or::Or<warp::filter::FilterFn<[closure@warp::filters::method::method_is<[closure@warp::filters::method::get::{closure#0}]>::{closure#0}]>, warp::filter::FilterFn<[closure@warp::filters::method::method_is<[closure@warp::filters::method::head::{closure#0}]>::{closure#0}]>>>, warp::filter::and_then::AndThen<warp::filter::FilterFn<[closure@warp::filters::path::tail::{closure#0}]>, [closure@warp::filters::fs::path_from_tail::{closure#0}]>>, warp::filter::map::Map<warp::filter::and::And<warp::filter::and::And<warp::filter::and::And<warp::filter::FilterFn<[closure@warp::filter::filter_fn_one<[closure@warp::filters::header::optional2<headers::common::if_modified_since::IfModifiedSince>::{closure#0}], futures_util::future::ready::Ready<std::result::Result<std::option::Option<headers::common::if_modified_since::IfModifiedSince>, std::convert::Infallible>>>::{closure#0}]>, warp::filter::FilterFn<[closure@warp::filter::filter_fn_one<[closure@warp::filters::header::optional2<headers::common::if_unmodified_since::IfUnmodifiedSince>::{closure#0}], futures_util::future::ready::Ready<std::result::Result<std::option::Option<headers::common::if_unmodified_since::IfUnmodifiedSince>, std::convert::Infallible>>>::{closure#0}]>>, warp::filter::FilterFn<[closure@warp::filter::filter_fn_one<[closure@warp::filters::header::optional2<headers::common::if_range::IfRange>::{closure#0}], futures_util::future::ready::Ready<std::result::Result<std::option::Option<headers::common::if_range::IfRange>, std::convert::Infallible>>>::{closure#0}]>>, warp::filter::FilterFn<[closure@warp::filter::filter_fn_one<[closure@warp::filters::header::optional2<headers::common::range::Range>::{closure#0}], futures_util::future::ready::Ready<std::result::Result<std::option::Option<headers::common::range::Range>, std::convert::Infallible>>>::{closure#0}]>>, [closure@warp::filters::fs::conditionals::{closure#0}]>>, fn(warp::filters::fs::ArcPath, warp::filters::fs::Conditionals) -> impl std::future::Future<Output = std::result::Result<warp::filters::fs::File, warp::reject::Rejection>> + std::marker::Send {warp::filters::fs::file_reply}>, warp::filter::and_then::AndThen<warp::filter::FilterFn<[closure@warp::filters::method::method_is<[closure@warp::filters::method::get::{closure#0}]>::{closure#0}]>, fn() -> impl std::future::Future<Output = std::result::Result<impl warp::reply::Reply, std::convert::Infallible>> {server::serve_foo}>>>>::bind_ephemeral<([u8; 4], u16)>::{closure#1}::{closure#0}::{closure#0}], hyper::body::body::Body>, hyper::common::exec::Exec, hyper::server::server::NoopWatcher>)) (after phase change to runtime-optimized) at bb3[0]:
                                    Field projection `((*_1) as Connected).field[0]` specified type `hyper::server::conn::upgrades::UpgradeableConnection<hyper::server::tcp::addr_stream::AddrStream, hyper::service::util::ServiceFn<[closure@warp::server::Server<warp::filters::cors::internal::CorsFilter<warp::filter::or::Or<warp::filter::and_then::AndThen<warp::filter::and::And<warp::filter::and::And<warp::filter::unify::Unify<warp::filter::or::Or<warp::filter::FilterFn<[closure@warp::filters::method::method_is<[closure@warp::filters::method::get::{closure#0}]>::{closure#0}]>, warp::filter::FilterFn<[closure@warp::filters::method::method_is<[closure@warp::filters::method::head::{closure#0}]>::{closure#0}]>>>, warp::filter::and_then::AndThen<warp::filter::FilterFn<[closure@warp::filters::path::tail::{closure#0}]>, [closure@warp::filters::fs::path_from_tail::{closure#0}]>>, warp::filter::map::Map<warp::filter::and::And<warp::filter::and::And<warp::filter::and::And<warp::filter::FilterFn<[closure@warp::filter::filter_fn_one<[closure@warp::filters::header::optional2<headers::common::if_modified_since::IfModifiedSince>::{closure#0}], futures_util::future::ready::Ready<std::result::Result<std::option::Option<headers::common::if_modified_since::IfModifiedSince>, std::convert::Infallible>>>::{closure#0}]>, warp::filter::FilterFn<[closure@warp::filter::filter_fn_one<[closure@warp::filters::header::optional2<headers::common::if_unmodified_since::IfUnmodifiedSince>::{closure#0}], futures_util::future::ready::Ready<std::result::Result<std::option::Option<headers::common::if_unmodified_since::IfUnmodifiedSince>, std::convert::Infallible>>>::{closure#0}]>>, warp::filter::FilterFn<[closure@warp::filter::filter_fn_one<[closure@warp::filters::header::optional2<headers::common::if_range::IfRange>::{closure#0}], futures_util::future::ready::Ready<std::result::Result<std::option::Option<headers::common::if_range::IfRange>, std::convert::Infallible>>>::{closure#0}]>>, warp::filter::FilterFn<[closure@warp::filter::filter_fn_one<[closure@warp::filters::header::optional2<headers::common::range::Range>::{closure#0}], futures_util::future::ready::Ready<std::result::Result<std::option::Option<headers::common::range::Range>, std::convert::Infallible>>>::{closure#0}]>>, [closure@warp::filters::fs::conditionals::{closure#0}]>>, fn(warp::filters::fs::ArcPath, warp::filters::fs::Conditionals) -> impl std::future::Future<Output = std::result::Result<warp::filters::fs::File, warp::reject::Rejection>> + std::marker::Send {warp::filters::fs::file_reply}>, warp::filter::and_then::AndThen<warp::filter::FilterFn<[closure@warp::filters::method::method_is<[closure@warp::filters::method::get::{closure#0}]>::{closure#0}]>, fn() -> impl std::future::Future<Output = std::result::Result<impl warp::reply::Reply, std::convert::Infallible>> {server::serve_foo}>>>>::bind_ephemeral<([u8; 4], u16)>::{closure#1}::{closure#0}::{closure#0}], hyper::body::body::Body>, hyper::common::exec::Exec>`, but actual type is `<hyper::server::server::NoopWatcher as hyper::server::server::Watcher<hyper::server::tcp::addr_stream::AddrStream, hyper::service::util::ServiceFn<[closure@warp::server::Server<warp::filters::cors::internal::CorsFilter<warp::filter::or::Or<warp::filter::and_then::AndThen<warp::filter::and::And<warp::filter::and::And<warp::filter::unify::Unify<warp::filter::or::Or<warp::filter::FilterFn<[closure@warp::filters::method::method_is<[closure@warp::filters::method::get::{closure#0}]>::{closure#0}]>, warp::filter::FilterFn<[closure@warp::filters::method::method_is<[closure@warp::filters::method::head::{closure#0}]>::{closure#0}]>>>, warp::filter::and_then::AndThen<warp::filter::FilterFn<[closure@warp::filters::path::tail::{closure#0}]>, [closure@warp::filters::fs::path_from_tail::{closure#0}]>>, warp::filter::map::Map<warp::filter::and::And<warp::filter::and::And<warp::filter::and::And<warp::filter::FilterFn<[closure@warp::filter::filter_fn_one<[closure@warp::filters::header::optional2<headers::common::if_modified_since::IfModifiedSince>::{closure#0}], futures_util::future::ready::Ready<std::result::Result<std::option::Option<headers::common::if_modified_since::IfModifiedSince>, std::convert::Infallible>>>::{closure#0}]>, warp::filter::FilterFn<[closure@warp::filter::filter_fn_one<[closure@warp::filters::header::optional2<headers::common::if_unmodified_since::IfUnmodifiedSince>::{closure#0}], futures_util::future::ready::Ready<std::result::Result<std::option::Option<headers::common::if_unmodified_since::IfUnmodifiedSince>, std::convert::Infallible>>>::{closure#0}]>>, warp::filter::FilterFn<[closure@warp::filter::filter_fn_one<[closure@warp::filters::header::optional2<headers::common::if_range::IfRange>::{closure#0}], futures_util::future::ready::Ready<std::result::Result<std::option::Option<headers::common::if_range::IfRange>, std::convert::Infallible>>>::{closure#0}]>>, warp::filter::FilterFn<[closure@warp::filter::filter_fn_one<[closure@warp::filters::header::optional2<headers::common::range::Range>::{closure#0}], futures_util::future::ready::Ready<std::result::Result<std::option::Option<headers::common::range::Range>, std::convert::Infallible>>>::{closure#0}]>>, [closure@warp::filters::fs::conditionals::{closure#0}]>>, fn(warp::filters::fs::ArcPath, warp::filters::fs::Conditionals) -> impl std::future::Future<Output = std::result::Result<warp::filters::fs::File, warp::reject::Rejection>> + std::marker::Send {warp::filters::fs::file_reply}>, warp::filter::and_then::AndThen<warp::filter::FilterFn<[closure@warp::filters::method::method_is<[closure@warp::filters::method::get::{closure#0}]>::{closure#0}]>, fn() -> impl std::future::Future<Output = std::result::Result<impl warp::reply::Reply, std::convert::Infallible>> {server::serve_foo}>>>>::bind_ephemeral<([u8; 4], u16)>::{closure#1}::{closure#0}::{closure#0}], hyper::body::body::Body>, hyper::common::exec::Exec>>::Future`
    --> /Users/ross/.rustup/toolchains/nightly-aarch64-apple-darwin/lib/rustlib/src/rust/library/core/src/ptr/mod.rs:490:1
        |
    490 | pub unsafe fn drop_in_place<T: ?Sized>(to_drop: *mut T) {
        | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
        |
        = note: delayed at compiler/rustc_const_eval/src/transform/validate.rs:229:30
    
    error: internal compiler error: broken MIR in DropGlue(DefId(2:2803 ~ core[84ec]::ptr::drop_in_place), Some(hyper::server::conn::Connection<hyper::server::tcp::addr_stream::AddrStream, hyper::service::util::ServiceFn<[closure@warp::server::Server<warp::filters::cors::internal::CorsFilter<warp::filter::or::Or<warp::filter::and_then::AndThen<warp::filter::and::And<warp::filter::and::And<warp::filter::unify::Unify<warp::filter::or::Or<warp::filter::FilterFn<[closure@warp::filters::method::method_is<[closure@warp::filters::method::get::{closure#0}]>::{closure#0}]>, warp::filter::FilterFn<[closure@warp::filters::method::method_is<[closure@warp::filters::method::head::{closure#0}]>::{closure#0}]>>>, warp::filter::and_then::AndThen<warp::filter::FilterFn<[closure@warp::filters::path::tail::{closure#0}]>, [closure@warp::filters::fs::path_from_tail::{closure#0}]>>, warp::filter::map::Map<warp::filter::and::And<warp::filter::and::And<warp::filter::and::And<warp::filter::FilterFn<[closure@warp::filter::filter_fn_one<[closure@warp::filters::header::optional2<headers::common::if_modified_since::IfModifiedSince>::{closure#0}], futures_util::future::ready::Ready<std::result::Result<std::option::Option<headers::common::if_modified_since::IfModifiedSince>, std::convert::Infallible>>>::{closure#0}]>, warp::filter::FilterFn<[closure@warp::filter::filter_fn_one<[closure@warp::filters::header::optional2<headers::common::if_unmodified_since::IfUnmodifiedSince>::{closure#0}], futures_util::future::ready::Ready<std::result::Result<std::option::Option<headers::common::if_unmodified_since::IfUnmodifiedSince>, std::convert::Infallible>>>::{closure#0}]>>, warp::filter::FilterFn<[closure@warp::filter::filter_fn_one<[closure@warp::filters::header::optional2<headers::common::if_range::IfRange>::{closure#0}], futures_util::future::ready::Ready<std::result::Result<std::option::Option<headers::common::if_range::IfRange>, std::convert::Infallible>>>::{closure#0}]>>, warp::filter::FilterFn<[closure@warp::filter::filter_fn_one<[closure@warp::filters::header::optional2<headers::common::range::Range>::{closure#0}], futures_util::future::ready::Ready<std::result::Result<std::option::Option<headers::common::range::Range>, std::convert::Infallible>>>::{closure#0}]>>, [closure@warp::filters::fs::conditionals::{closure#0}]>>, fn(warp::filters::fs::ArcPath, warp::filters::fs::Conditionals) -> impl std::future::Future<Output = std::result::Result<warp::filters::fs::File, warp::reject::Rejection>> + std::marker::Send {warp::filters::fs::file_reply}>, warp::filter::and_then::AndThen<warp::filter::FilterFn<[closure@warp::filters::method::method_is<[closure@warp::filters::method::get::{closure#0}]>::{closure#0}]>, fn() -> impl std::future::Future<Output = std::result::Result<impl warp::reply::Reply, std::convert::Infallible>> {server::serve_foo}>>>>::bind_ephemeral<([u8; 4], u16)>::{closure#1}::{closure#0}::{closure#0}], hyper::body::body::Body>>)) (after phase change to runtime-optimized) at bb0[0]:
                                    Field projection `(*_1).field[0]` specified type `std::option::Option<hyper::server::conn::ProtoServer<hyper::server::tcp::addr_stream::AddrStream, hyper::body::body::Body, hyper::service::util::ServiceFn<[closure@warp::server::Server<warp::filters::cors::internal::CorsFilter<warp::filter::or::Or<warp::filter::and_then::AndThen<warp::filter::and::And<warp::filter::and::And<warp::filter::unify::Unify<warp::filter::or::Or<warp::filter::FilterFn<[closure@warp::filters::method::method_is<[closure@warp::filters::method::get::{closure#0}]>::{closure#0}]>, warp::filter::FilterFn<[closure@warp::filters::method::method_is<[closure@warp::filters::method::head::{closure#0}]>::{closure#0}]>>>, warp::filter::and_then::AndThen<warp::filter::FilterFn<[closure@warp::filters::path::tail::{closure#0}]>, [closure@warp::filters::fs::path_from_tail::{closure#0}]>>, warp::filter::map::Map<warp::filter::and::And<warp::filter::and::And<warp::filter::and::And<warp::filter::FilterFn<[closure@warp::filter::filter_fn_one<[closure@warp::filters::header::optional2<headers::common::if_modified_since::IfModifiedSince>::{closure#0}], futures_util::future::ready::Ready<std::result::Result<std::option::Option<headers::common::if_modified_since::IfModifiedSince>, std::convert::Infallible>>>::{closure#0}]>, warp::filter::FilterFn<[closure@warp::filter::filter_fn_one<[closure@warp::filters::header::optional2<headers::common::if_unmodified_since::IfUnmodifiedSince>::{closure#0}], futures_util::future::ready::Ready<std::result::Result<std::option::Option<headers::common::if_unmodified_since::IfUnmodifiedSince>, std::convert::Infallible>>>::{closure#0}]>>, warp::filter::FilterFn<[closure@warp::filter::filter_fn_one<[closure@warp::filters::header::optional2<headers::common::if_range::IfRange>::{closure#0}], futures_util::future::ready::Ready<std::result::Result<std::option::Option<headers::common::if_range::IfRange>, std::convert::Infallible>>>::{closure#0}]>>, warp::filter::FilterFn<[closure@warp::filter::filter_fn_one<[closure@warp::filters::header::optional2<headers::common::range::Range>::{closure#0}], futures_util::future::ready::Ready<std::result::Result<std::option::Option<headers::common::range::Range>, std::convert::Infallible>>>::{closure#0}]>>, [closure@warp::filters::fs::conditionals::{closure#0}]>>, fn(warp::filters::fs::ArcPath, warp::filters::fs::Conditionals) -> impl std::future::Future<Output = std::result::Result<warp::filters::fs::File, warp::reject::Rejection>> + std::marker::Send {warp::filters::fs::file_reply}>, warp::filter::and_then::AndThen<warp::filter::FilterFn<[closure@warp::filters::method::method_is<[closure@warp::filters::method::get::{closure#0}]>::{closure#0}]>, fn() -> impl std::future::Future<Output = std::result::Result<impl warp::reply::Reply, std::convert::Infallible>> {server::serve_foo}>>>>::bind_ephemeral<([u8; 4], u16)>::{closure#1}::{closure#0}::{closure#0}], hyper::body::body::Body>>>`, but actual type is `std::option::Option<hyper::server::conn::ProtoServer<hyper::server::tcp::addr_stream::AddrStream, <hyper::service::util::ServiceFn<[closure@warp::server::Server<warp::filters::cors::internal::CorsFilter<warp::filter::or::Or<warp::filter::and_then::AndThen<warp::filter::and::And<warp::filter::and::And<warp::filter::unify::Unify<warp::filter::or::Or<warp::filter::FilterFn<[closure@warp::filters::method::method_is<[closure@warp::filters::method::get::{closure#0}]>::{closure#0}]>, warp::filter::FilterFn<[closure@warp::filters::method::method_is<[closure@warp::filters::method::head::{closure#0}]>::{closure#0}]>>>, warp::filter::and_then::AndThen<warp::filter::FilterFn<[closure@warp::filters::path::tail::{closure#0}]>, [closure@warp::filters::fs::path_from_tail::{closure#0}]>>, warp::filter::map::Map<warp::filter::and::And<warp::filter::and::And<warp::filter::and::And<warp::filter::FilterFn<[closure@warp::filter::filter_fn_one<[closure@warp::filters::header::optional2<headers::common::if_modified_since::IfModifiedSince>::{closure#0}], futures_util::future::ready::Ready<std::result::Result<std::option::Option<headers::common::if_modified_since::IfModifiedSince>, std::convert::Infallible>>>::{closure#0}]>, warp::filter::FilterFn<[closure@warp::filter::filter_fn_one<[closure@warp::filters::header::optional2<headers::common::if_unmodified_since::IfUnmodifiedSince>::{closure#0}], futures_util::future::ready::Ready<std::result::Result<std::option::Option<headers::common::if_unmodified_since::IfUnmodifiedSince>, std::convert::Infallible>>>::{closure#0}]>>, warp::filter::FilterFn<[closure@warp::filter::filter_fn_one<[closure@warp::filters::header::optional2<headers::common::if_range::IfRange>::{closure#0}], futures_util::future::ready::Ready<std::result::Result<std::option::Option<headers::common::if_range::IfRange>, std::convert::Infallible>>>::{closure#0}]>>, warp::filter::FilterFn<[closure@warp::filter::filter_fn_one<[closure@warp::filters::header::optional2<headers::common::range::Range>::{closure#0}], futures_util::future::ready::Ready<std::result::Result<std::option::Option<headers::common::range::Range>, std::convert::Infallible>>>::{closure#0}]>>, [closure@warp::filters::fs::conditionals::{closure#0}]>>, fn(warp::filters::fs::ArcPath, warp::filters::fs::Conditionals) -> impl std::future::Future<Output = std::result::Result<warp::filters::fs::File, warp::reject::Rejection>> + std::marker::Send {warp::filters::fs::file_reply}>, warp::filter::and_then::AndThen<warp::filter::FilterFn<[closure@warp::filters::method::method_is<[closure@warp::filters::method::get::{closure#0}]>::{closure#0}]>, fn() -> impl std::future::Future<Output = std::result::Result<impl warp::reply::Reply, std::convert::Infallible>> {server::serve_foo}>>>>::bind_ephemeral<([u8; 4], u16)>::{closure#1}::{closure#0}::{closure#0}], hyper::body::body::Body> as hyper::service::http::HttpService<hyper::body::body::Body>>::ResBody, hyper::service::util::ServiceFn<[closure@warp::server::Server<warp::filters::cors::internal::CorsFilter<warp::filter::or::Or<warp::filter::and_then::AndThen<warp::filter::and::And<warp::filter::and::And<warp::filter::unify::Unify<warp::filter::or::Or<warp::filter::FilterFn<[closure@warp::filters::method::method_is<[closure@warp::filters::method::get::{closure#0}]>::{closure#0}]>, warp::filter::FilterFn<[closure@warp::filters::method::method_is<[closure@warp::filters::method::head::{closure#0}]>::{closure#0}]>>>, warp::filter::and_then::AndThen<warp::filter::FilterFn<[closure@warp::filters::path::tail::{closure#0}]>, [closure@warp::filters::fs::path_from_tail::{closure#0}]>>, warp::filter::map::Map<warp::filter::and::And<warp::filter::and::And<warp::filter::and::And<warp::filter::FilterFn<[closure@warp::filter::filter_fn_one<[closure@warp::filters::header::optional2<headers::common::if_modified_since::IfModifiedSince>::{closure#0}], futures_util::future::ready::Ready<std::result::Result<std::option::Option<headers::common::if_modified_since::IfModifiedSince>, std::convert::Infallible>>>::{closure#0}]>, warp::filter::FilterFn<[closure@warp::filter::filter_fn_one<[closure@warp::filters::header::optional2<headers::common::if_unmodified_since::IfUnmodifiedSince>::{closure#0}], futures_util::future::ready::Ready<std::result::Result<std::option::Option<headers::common::if_unmodified_since::IfUnmodifiedSince>, std::convert::Infallible>>>::{closure#0}]>>, warp::filter::FilterFn<[closure@warp::filter::filter_fn_one<[closure@warp::filters::header::optional2<headers::common::if_range::IfRange>::{closure#0}], futures_util::future::ready::Ready<std::result::Result<std::option::Option<headers::common::if_range::IfRange>, std::convert::Infallible>>>::{closure#0}]>>, warp::filter::FilterFn<[closure@warp::filter::filter_fn_one<[closure@warp::filters::header::optional2<headers::common::range::Range>::{closure#0}], futures_util::future::ready::Ready<std::result::Result<std::option::Option<headers::common::range::Range>, std::convert::Infallible>>>::{closure#0}]>>, [closure@warp::filters::fs::conditionals::{closure#0}]>>, fn(warp::filters::fs::ArcPath, warp::filters::fs::Conditionals) -> impl std::future::Future<Output = std::result::Result<warp::filters::fs::File, warp::reject::Rejection>> + std::marker::Send {warp::filters::fs::file_reply}>, warp::filter::and_then::AndThen<warp::filter::FilterFn<[closure@warp::filters::method::method_is<[closure@warp::filters::method::get::{closure#0}]>::{closure#0}]>, fn() -> impl std::future::Future<Output = std::result::Result<impl warp::reply::Reply, std::convert::Infallible>> {server::serve_foo}>>>>::bind_ephemeral<([u8; 4], u16)>::{closure#1}::{closure#0}::{closure#0}], hyper::body::body::Body>>>`
    --> /Users/ross/.rustup/toolchains/nightly-aarch64-apple-darwin/lib/rustlib/src/rust/library/core/src/ptr/mod.rs:490:1
        |
    490 | pub unsafe fn drop_in_place<T: ?Sized>(to_drop: *mut T) {
        | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
        |
        = note: delayed at compiler/rustc_const_eval/src/transform/validate.rs:229:30
    
    error: internal compiler error: broken MIR in DropGlue(DefId(2:2803 ~ core[84ec]::ptr::drop_in_place), Some(hyper::proto::h1::dispatch::Server<hyper::service::util::ServiceFn<[closure@warp::server::Server<warp::filters::cors::internal::CorsFilter<warp::filter::or::Or<warp::filter::and_then::AndThen<warp::filter::and::And<warp::filter::and::And<warp::filter::unify::Unify<warp::filter::or::Or<warp::filter::FilterFn<[closure@warp::filters::method::method_is<[closure@warp::filters::method::get::{closure#0}]>::{closure#0}]>, warp::filter::FilterFn<[closure@warp::filters::method::method_is<[closure@warp::filters::method::head::{closure#0}]>::{closure#0}]>>>, warp::filter::and_then::AndThen<warp::filter::FilterFn<[closure@warp::filters::path::tail::{closure#0}]>, [closure@warp::filters::fs::path_from_tail::{closure#0}]>>, warp::filter::map::Map<warp::filter::and::And<warp::filter::and::And<warp::filter::and::And<warp::filter::FilterFn<[closure@warp::filter::filter_fn_one<[closure@warp::filters::header::optional2<headers::common::if_modified_since::IfModifiedSince>::{closure#0}], futures_util::future::ready::Ready<std::result::Result<std::option::Option<headers::common::if_modified_since::IfModifiedSince>, std::convert::Infallible>>>::{closure#0}]>, warp::filter::FilterFn<[closure@warp::filter::filter_fn_one<[closure@warp::filters::header::optional2<headers::common::if_unmodified_since::IfUnmodifiedSince>::{closure#0}], futures_util::future::ready::Ready<std::result::Result<std::option::Option<headers::common::if_unmodified_since::IfUnmodifiedSince>, std::convert::Infallible>>>::{closure#0}]>>, warp::filter::FilterFn<[closure@warp::filter::filter_fn_one<[closure@warp::filters::header::optional2<headers::common::if_range::IfRange>::{closure#0}], futures_util::future::ready::Ready<std::result::Result<std::option::Option<headers::common::if_range::IfRange>, std::convert::Infallible>>>::{closure#0}]>>, warp::filter::FilterFn<[closure@warp::filter::filter_fn_one<[closure@warp::filters::header::optional2<headers::common::range::Range>::{closure#0}], futures_util::future::ready::Ready<std::result::Result<std::option::Option<headers::common::range::Range>, std::convert::Infallible>>>::{closure#0}]>>, [closure@warp::filters::fs::conditionals::{closure#0}]>>, fn(warp::filters::fs::ArcPath, warp::filters::fs::Conditionals) -> impl std::future::Future<Output = std::result::Result<warp::filters::fs::File, warp::reject::Rejection>> + std::marker::Send {warp::filters::fs::file_reply}>, warp::filter::and_then::AndThen<warp::filter::FilterFn<[closure@warp::filters::method::method_is<[closure@warp::filters::method::get::{closure#0}]>::{closure#0}]>, fn() -> impl std::future::Future<Output = std::result::Result<impl warp::reply::Reply, std::convert::Infallible>> {server::serve_foo}>>>>::bind_ephemeral<([u8; 4], u16)>::{closure#1}::{closure#0}::{closure#0}], hyper::body::body::Body>, hyper::body::body::Body>)) (after phase change to runtime-optimized) at bb0[0]:
                                    Field projection `(*_1).field[0]` specified type `std::pin::Pin<std::boxed::Box<std::option::Option<warp::filter::service::FilteredFuture<futures_util::future::either::Either<futures_util::future::ready::Ready<std::result::Result<(warp::generic::Either<(warp::filters::cors::internal::Preflight,), (warp::generic::Either<(warp::filters::cors::internal::Wrapped<(warp::generic::Either<(warp::filters::fs::File,), (std::string::String,)>,)>,), (warp::generic::Either<(warp::filters::fs::File,), (std::string::String,)>,)>,)>,), warp::reject::Rejection>>, warp::filters::cors::internal::WrappedFuture<warp::filter::or::EitherFuture<warp::filter::and_then::AndThen<warp::filter::and::And<warp::filter::and::And<warp::filter::unify::Unify<warp::filter::or::Or<warp::filter::FilterFn<[closure@warp::filters::method::method_is<[closure@warp::filters::method::get::{closure#0}]>::{closure#0}]>, warp::filter::FilterFn<[closure@warp::filters::method::method_is<[closure@warp::filters::method::head::{closure#0}]>::{closure#0}]>>>, warp::filter::and_then::AndThen<warp::filter::FilterFn<[closure@warp::filters::path::tail::{closure#0}]>, [closure@warp::filters::fs::path_from_tail::{closure#0}]>>, warp::filter::map::Map<warp::filter::and::And<warp::filter::and::And<warp::filter::and::And<warp::filter::FilterFn<[closure@warp::filter::filter_fn_one<[closure@warp::filters::header::optional2<headers::common::if_modified_since::IfModifiedSince>::{closure#0}], futures_util::future::ready::Ready<std::result::Result<std::option::Option<headers::common::if_modified_since::IfModifiedSince>, std::convert::Infallible>>>::{closure#0}]>, warp::filter::FilterFn<[closure@warp::filter::filter_fn_one<[closure@warp::filters::header::optional2<headers::common::if_unmodified_since::IfUnmodifiedSince>::{closure#0}], futures_util::future::ready::Ready<std::result::Result<std::option::Option<headers::common::if_unmodified_since::IfUnmodifiedSince>, std::convert::Infallible>>>::{closure#0}]>>, warp::filter::FilterFn<[closure@warp::filter::filter_fn_one<[closure@warp::filters::header::optional2<headers::common::if_range::IfRange>::{closure#0}], futures_util::future::ready::Ready<std::result::Result<std::option::Option<headers::common::if_range::IfRange>, std::convert::Infallible>>>::{closure#0}]>>, warp::filter::FilterFn<[closure@warp::filter::filter_fn_one<[closure@warp::filters::header::optional2<headers::common::range::Range>::{closure#0}], futures_util::future::ready::Ready<std::result::Result<std::option::Option<headers::common::range::Range>, std::convert::Infallible>>>::{closure#0}]>>, [closure@warp::filters::fs::conditionals::{closure#0}]>>, fn(warp::filters::fs::ArcPath, warp::filters::fs::Conditionals) -> impl std::future::Future<Output = std::result::Result<warp::filters::fs::File, warp::reject::Rejection>> + std::marker::Send {warp::filters::fs::file_reply}>, warp::filter::and_then::AndThen<warp::filter::FilterFn<[closure@warp::filters::method::method_is<[closure@warp::filters::method::get::{closure#0}]>::{closure#0}]>, fn() -> impl std::future::Future<Output = std::result::Result<impl warp::reply::Reply, std::convert::Infallible>> {server::serve_foo}>>>>>>>>`, but actual type is `std::pin::Pin<std::boxed::Box<std::option::Option<<hyper::service::util::ServiceFn<[closure@warp::server::Server<warp::filters::cors::internal::CorsFilter<warp::filter::or::Or<warp::filter::and_then::AndThen<warp::filter::and::And<warp::filter::and::And<warp::filter::unify::Unify<warp::filter::or::Or<warp::filter::FilterFn<[closure@warp::filters::method::method_is<[closure@warp::filters::method::get::{closure#0}]>::{closure#0}]>, warp::filter::FilterFn<[closure@warp::filters::method::method_is<[closure@warp::filters::method::head::{closure#0}]>::{closure#0}]>>>, warp::filter::and_then::AndThen<warp::filter::FilterFn<[closure@warp::filters::path::tail::{closure#0}]>, [closure@warp::filters::fs::path_from_tail::{closure#0}]>>, warp::filter::map::Map<warp::filter::and::And<warp::filter::and::And<warp::filter::and::And<warp::filter::FilterFn<[closure@warp::filter::filter_fn_one<[closure@warp::filters::header::optional2<headers::common::if_modified_since::IfModifiedSince>::{closure#0}], futures_util::future::ready::Ready<std::result::Result<std::option::Option<headers::common::if_modified_since::IfModifiedSince>, std::convert::Infallible>>>::{closure#0}]>, warp::filter::FilterFn<[closure@warp::filter::filter_fn_one<[closure@warp::filters::header::optional2<headers::common::if_unmodified_since::IfUnmodifiedSince>::{closure#0}], futures_util::future::ready::Ready<std::result::Result<std::option::Option<headers::common::if_unmodified_since::IfUnmodifiedSince>, std::convert::Infallible>>>::{closure#0}]>>, warp::filter::FilterFn<[closure@warp::filter::filter_fn_one<[closure@warp::filters::header::optional2<headers::common::if_range::IfRange>::{closure#0}], futures_util::future::ready::Ready<std::result::Result<std::option::Option<headers::common::if_range::IfRange>, std::convert::Infallible>>>::{closure#0}]>>, warp::filter::FilterFn<[closure@warp::filter::filter_fn_one<[closure@warp::filters::header::optional2<headers::common::range::Range>::{closure#0}], futures_util::future::ready::Ready<std::result::Result<std::option::Option<headers::common::range::Range>, std::convert::Infallible>>>::{closure#0}]>>, [closure@warp::filters::fs::conditionals::{closure#0}]>>, fn(warp::filters::fs::ArcPath, warp::filters::fs::Conditionals) -> impl std::future::Future<Output = std::result::Result<warp::filters::fs::File, warp::reject::Rejection>> + std::marker::Send {warp::filters::fs::file_reply}>, warp::filter::and_then::AndThen<warp::filter::FilterFn<[closure@warp::filters::method::method_is<[closure@warp::filters::method::get::{closure#0}]>::{closure#0}]>, fn() -> impl std::future::Future<Output = std::result::Result<impl warp::reply::Reply, std::convert::Infallible>> {server::serve_foo}>>>>::bind_ephemeral<([u8; 4], u16)>::{closure#1}::{closure#0}::{closure#0}], hyper::body::body::Body> as hyper::service::http::HttpService<hyper::body::body::Body>>::Future>>>`
    --> /Users/ross/.rustup/toolchains/nightly-aarch64-apple-darwin/lib/rustlib/src/rust/library/core/src/ptr/mod.rs:490:1
        |
    490 | pub unsafe fn drop_in_place<T: ?Sized>(to_drop: *mut T) {
        | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
        |
        = note: delayed at compiler/rustc_const_eval/src/transform/validate.rs:229:30
    
    error: internal compiler error: broken MIR in DropGlue(DefId(2:2803 ~ core[84ec]::ptr::drop_in_place), Some(tokio::runtime::task::core::Stage<std::pin::Pin<std::boxed::Box<hyper::server::server::new_svc::NewSvcTask<hyper::server::tcp::addr_stream::AddrStream, futures_util::future::ready::Ready<std::result::Result<hyper::service::util::ServiceFn<[closure@warp::server::Server<warp::filters::cors::internal::CorsFilter<warp::filter::or::Or<warp::filter::and_then::AndThen<warp::filter::and::And<warp::filter::and::And<warp::filter::unify::Unify<warp::filter::or::Or<warp::filter::FilterFn<[closure@warp::filters::method::method_is<[closure@warp::filters::method::get::{closure#0}]>::{closure#0}]>, warp::filter::FilterFn<[closure@warp::filters::method::method_is<[closure@warp::filters::method::head::{closure#0}]>::{closure#0}]>>>, warp::filter::and_then::AndThen<warp::filter::FilterFn<[closure@warp::filters::path::tail::{closure#0}]>, [closure@warp::filters::fs::path_from_tail::{closure#0}]>>, warp::filter::map::Map<warp::filter::and::And<warp::filter::and::And<warp::filter::and::And<warp::filter::FilterFn<[closure@warp::filter::filter_fn_one<[closure@warp::filters::header::optional2<headers::common::if_modified_since::IfModifiedSince>::{closure#0}], futures_util::future::ready::Ready<std::result::Result<std::option::Option<headers::common::if_modified_since::IfModifiedSince>, std::convert::Infallible>>>::{closure#0}]>, warp::filter::FilterFn<[closure@warp::filter::filter_fn_one<[closure@warp::filters::header::optional2<headers::common::if_unmodified_since::IfUnmodifiedSince>::{closure#0}], futures_util::future::ready::Ready<std::result::Result<std::option::Option<headers::common::if_unmodified_since::IfUnmodifiedSince>, std::convert::Infallible>>>::{closure#0}]>>, warp::filter::FilterFn<[closure@warp::filter::filter_fn_one<[closure@warp::filters::header::optional2<headers::common::if_range::IfRange>::{closure#0}], futures_util::future::ready::Ready<std::result::Result<std::option::Option<headers::common::if_range::IfRange>, std::convert::Infallible>>>::{closure#0}]>>, warp::filter::FilterFn<[closure@warp::filter::filter_fn_one<[closure@warp::filters::header::optional2<headers::common::range::Range>::{closure#0}], futures_util::future::ready::Ready<std::result::Result<std::option::Option<headers::common::range::Range>, std::convert::Infallible>>>::{closure#0}]>>, [closure@warp::filters::fs::conditionals::{closure#0}]>>, fn(warp::filters::fs::ArcPath, warp::filters::fs::Conditionals) -> impl std::future::Future<Output = std::result::Result<warp::filters::fs::File, warp::reject::Rejection>> + std::marker::Send {warp::filters::fs::file_reply}>, warp::filter::and_then::AndThen<warp::filter::FilterFn<[closure@warp::filters::method::method_is<[closure@warp::filters::method::get::{closure#0}]>::{closure#0}]>, fn() -> impl std::future::Future<Output = std::result::Result<impl warp::reply::Reply, std::convert::Infallible>> {server::serve_foo}>>>>::bind_ephemeral<([u8; 4], u16)>::{closure#1}::{closure#0}::{closure#0}], hyper::body::body::Body>, std::convert::Infallible>>, hyper::service::util::ServiceFn<[closure@warp::server::Server<warp::filters::cors::internal::CorsFilter<warp::filter::or::Or<warp::filter::and_then::AndThen<warp::filter::and::And<warp::filter::and::And<warp::filter::unify::Unify<warp::filter::or::Or<warp::filter::FilterFn<[closure@warp::filters::method::method_is<[closure@warp::filters::method::get::{closure#0}]>::{closure#0}]>, warp::filter::FilterFn<[closure@warp::filters::method::method_is<[closure@warp::filters::method::head::{closure#0}]>::{closure#0}]>>>, warp::filter::and_then::AndThen<warp::filter::FilterFn<[closure@warp::filters::path::tail::{closure#0}]>, [closure@warp::filters::fs::path_from_tail::{closure#0}]>>, warp::filter::map::Map<warp::filter::and::And<warp::filter::and::And<warp::filter::and::And<warp::filter::FilterFn<[closure@warp::filter::filter_fn_one<[closure@warp::filters::header::optional2<headers::common::if_modified_since::IfModifiedSince>::{closure#0}], futures_util::future::ready::Ready<std::result::Result<std::option::Option<headers::common::if_modified_since::IfModifiedSince>, std::convert::Infallible>>>::{closure#0}]>, warp::filter::FilterFn<[closure@warp::filter::filter_fn_one<[closure@warp::filters::header::optional2<headers::common::if_unmodified_since::IfUnmodifiedSince>::{closure#0}], futures_util::future::ready::Ready<std::result::Result<std::option::Option<headers::common::if_unmodified_since::IfUnmodifiedSince>, std::convert::Infallible>>>::{closure#0}]>>, warp::filter::FilterFn<[closure@warp::filter::filter_fn_one<[closure@warp::filters::header::optional2<headers::common::if_range::IfRange>::{closure#0}], futures_util::future::ready::Ready<std::result::Result<std::option::Option<headers::common::if_range::IfRange>, std::convert::Infallible>>>::{closure#0}]>>, warp::filter::FilterFn<[closure@warp::filter::filter_fn_one<[closure@warp::filters::header::optional2<headers::common::range::Range>::{closure#0}], futures_util::future::ready::Ready<std::result::Result<std::option::Option<headers::common::range::Range>, std::convert::Infallible>>>::{closure#0}]>>, [closure@warp::filters::fs::conditionals::{closure#0}]>>, fn(warp::filters::fs::ArcPath, warp::filters::fs::Conditionals) -> impl std::future::Future<Output = std::result::Result<warp::filters::fs::File, warp::reject::Rejection>> + std::marker::Send {warp::filters::fs::file_reply}>, warp::filter::and_then::AndThen<warp::filter::FilterFn<[closure@warp::filters::method::method_is<[closure@warp::filters::method::get::{closure#0}]>::{closure#0}]>, fn() -> impl std::future::Future<Output = std::result::Result<impl warp::reply::Reply, std::convert::Infallible>> {server::serve_foo}>>>>::bind_ephemeral<([u8; 4], u16)>::{closure#1}::{closure#0}::{closure#0}], hyper::body::body::Body>, hyper::common::exec::Exec, hyper::server::server::NoopWatcher>>>>)) (after phase change to runtime-optimized) at bb3[0]:
                                    Field projection `((*_1) as Finished).field[0]` specified type `std::result::Result<(), tokio::task::JoinError>`, but actual type is `std::result::Result<<std::pin::Pin<std::boxed::Box<hyper::server::server::new_svc::NewSvcTask<hyper::server::tcp::addr_stream::AddrStream, futures_util::future::ready::Ready<std::result::Result<hyper::service::util::ServiceFn<[closure@warp::server::Server<warp::filters::cors::internal::CorsFilter<warp::filter::or::Or<warp::filter::and_then::AndThen<warp::filter::and::And<warp::filter::and::And<warp::filter::unify::Unify<warp::filter::or::Or<warp::filter::FilterFn<[closure@warp::filters::method::method_is<[closure@warp::filters::method::get::{closure#0}]>::{closure#0}]>, warp::filter::FilterFn<[closure@warp::filters::method::method_is<[closure@warp::filters::method::head::{closure#0}]>::{closure#0}]>>>, warp::filter::and_then::AndThen<warp::filter::FilterFn<[closure@warp::filters::path::tail::{closure#0}]>, [closure@warp::filters::fs::path_from_tail::{closure#0}]>>, warp::filter::map::Map<warp::filter::and::And<warp::filter::and::And<warp::filter::and::And<warp::filter::FilterFn<[closure@warp::filter::filter_fn_one<[closure@warp::filters::header::optional2<headers::common::if_modified_since::IfModifiedSince>::{closure#0}], futures_util::future::ready::Ready<std::result::Result<std::option::Option<headers::common::if_modified_since::IfModifiedSince>, std::convert::Infallible>>>::{closure#0}]>, warp::filter::FilterFn<[closure@warp::filter::filter_fn_one<[closure@warp::filters::header::optional2<headers::common::if_unmodified_since::IfUnmodifiedSince>::{closure#0}], futures_util::future::ready::Ready<std::result::Result<std::option::Option<headers::common::if_unmodified_since::IfUnmodifiedSince>, std::convert::Infallible>>>::{closure#0}]>>, warp::filter::FilterFn<[closure@warp::filter::filter_fn_one<[closure@warp::filters::header::optional2<headers::common::if_range::IfRange>::{closure#0}], futures_util::future::ready::Ready<std::result::Result<std::option::Option<headers::common::if_range::IfRange>, std::convert::Infallible>>>::{closure#0}]>>, warp::filter::FilterFn<[closure@warp::filter::filter_fn_one<[closure@warp::filters::header::optional2<headers::common::range::Range>::{closure#0}], futures_util::future::ready::Ready<std::result::Result<std::option::Option<headers::common::range::Range>, std::convert::Infallible>>>::{closure#0}]>>, [closure@warp::filters::fs::conditionals::{closure#0}]>>, fn(warp::filters::fs::ArcPath, warp::filters::fs::Conditionals) -> impl std::future::Future<Output = std::result::Result<warp::filters::fs::File, warp::reject::Rejection>> + std::marker::Send {warp::filters::fs::file_reply}>, warp::filter::and_then::AndThen<warp::filter::FilterFn<[closure@warp::filters::method::method_is<[closure@warp::filters::method::get::{closure#0}]>::{closure#0}]>, fn() -> impl std::future::Future<Output = std::result::Result<impl warp::reply::Reply, std::convert::Infallible>> {server::serve_foo}>>>>::bind_ephemeral<([u8; 4], u16)>::{closure#1}::{closure#0}::{closure#0}], hyper::body::body::Body>, std::convert::Infallible>>, hyper::service::util::ServiceFn<[closure@warp::server::Server<warp::filters::cors::internal::CorsFilter<warp::filter::or::Or<warp::filter::and_then::AndThen<warp::filter::and::And<warp::filter::and::And<warp::filter::unify::Unify<warp::filter::or::Or<warp::filter::FilterFn<[closure@warp::filters::method::method_is<[closure@warp::filters::method::get::{closure#0}]>::{closure#0}]>, warp::filter::FilterFn<[closure@warp::filters::method::method_is<[closure@warp::filters::method::head::{closure#0}]>::{closure#0}]>>>, warp::filter::and_then::AndThen<warp::filter::FilterFn<[closure@warp::filters::path::tail::{closure#0}]>, [closure@warp::filters::fs::path_from_tail::{closure#0}]>>, warp::filter::map::Map<warp::filter::and::And<warp::filter::and::And<warp::filter::and::And<warp::filter::FilterFn<[closure@warp::filter::filter_fn_one<[closure@warp::filters::header::optional2<headers::common::if_modified_since::IfModifiedSince>::{closure#0}], futures_util::future::ready::Ready<std::result::Result<std::option::Option<headers::common::if_modified_since::IfModifiedSince>, std::convert::Infallible>>>::{closure#0}]>, warp::filter::FilterFn<[closure@warp::filter::filter_fn_one<[closure@warp::filters::header::optional2<headers::common::if_unmodified_since::IfUnmodifiedSince>::{closure#0}], futures_util::future::ready::Ready<std::result::Result<std::option::Option<headers::common::if_unmodified_since::IfUnmodifiedSince>, std::convert::Infallible>>>::{closure#0}]>>, warp::filter::FilterFn<[closure@warp::filter::filter_fn_one<[closure@warp::filters::header::optional2<headers::common::if_range::IfRange>::{closure#0}], futures_util::future::ready::Ready<std::result::Result<std::option::Option<headers::common::if_range::IfRange>, std::convert::Infallible>>>::{closure#0}]>>, warp::filter::FilterFn<[closure@warp::filter::filter_fn_one<[closure@warp::filters::header::optional2<headers::common::range::Range>::{closure#0}], futures_util::future::ready::Ready<std::result::Result<std::option::Option<headers::common::range::Range>, std::convert::Infallible>>>::{closure#0}]>>, [closure@warp::filters::fs::conditionals::{closure#0}]>>, fn(warp::filters::fs::ArcPath, warp::filters::fs::Conditionals) -> impl std::future::Future<Output = std::result::Result<warp::filters::fs::File, warp::reject::Rejection>> + std::marker::Send {warp::filters::fs::file_reply}>, warp::filter::and_then::AndThen<warp::filter::FilterFn<[closure@warp::filters::method::method_is<[closure@warp::filters::method::get::{closure#0}]>::{closure#0}]>, fn() -> impl std::future::Future<Output = std::result::Result<impl warp::reply::Reply, std::convert::Infallible>> {server::serve_foo}>>>>::bind_ephemeral<([u8; 4], u16)>::{closure#1}::{closure#0}::{closure#0}], hyper::body::body::Body>, hyper::common::exec::Exec, hyper::server::server::NoopWatcher>>> as std::future::Future>::Output, tokio::task::JoinError>`
    --> /Users/ross/.rustup/toolchains/nightly-aarch64-apple-darwin/lib/rustlib/src/rust/library/core/src/ptr/mod.rs:490:1
        |
    490 | pub unsafe fn drop_in_place<T: ?Sized>(to_drop: *mut T) {
        | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
        |
        = note: delayed at compiler/rustc_const_eval/src/transform/validate.rs:229:30
    
    error: internal compiler error: broken MIR in DropGlue(DefId(2:2803 ~ core[84ec]::ptr::drop_in_place), Some(tokio::runtime::task::core::Stage<std::pin::Pin<std::boxed::Box<hyper::proto::h2::server::H2Stream<warp::filter::service::FilteredFuture<futures_util::future::either::Either<futures_util::future::ready::Ready<std::result::Result<(warp::generic::Either<(warp::filters::cors::internal::Preflight,), (warp::generic::Either<(warp::filters::cors::internal::Wrapped<(warp::generic::Either<(warp::filters::fs::File,), (std::string::String,)>,)>,), (warp::generic::Either<(warp::filters::fs::File,), (std::string::String,)>,)>,)>,), warp::reject::Rejection>>, warp::filters::cors::internal::WrappedFuture<warp::filter::or::EitherFuture<warp::filter::and_then::AndThen<warp::filter::and::And<warp::filter::and::And<warp::filter::unify::Unify<warp::filter::or::Or<warp::filter::FilterFn<[closure@warp::filters::method::method_is<[closure@warp::filters::method::get::{closure#0}]>::{closure#0}]>, warp::filter::FilterFn<[closure@warp::filters::method::method_is<[closure@warp::filters::method::head::{closure#0}]>::{closure#0}]>>>, warp::filter::and_then::AndThen<warp::filter::FilterFn<[closure@warp::filters::path::tail::{closure#0}]>, [closure@warp::filters::fs::path_from_tail::{closure#0}]>>, warp::filter::map::Map<warp::filter::and::And<warp::filter::and::And<warp::filter::and::And<warp::filter::FilterFn<[closure@warp::filter::filter_fn_one<[closure@warp::filters::header::optional2<headers::common::if_modified_since::IfModifiedSince>::{closure#0}], futures_util::future::ready::Ready<std::result::Result<std::option::Option<headers::common::if_modified_since::IfModifiedSince>, std::convert::Infallible>>>::{closure#0}]>, warp::filter::FilterFn<[closure@warp::filter::filter_fn_one<[closure@warp::filters::header::optional2<headers::common::if_unmodified_since::IfUnmodifiedSince>::{closure#0}], futures_util::future::ready::Ready<std::result::Result<std::option::Option<headers::common::if_unmodified_since::IfUnmodifiedSince>, std::convert::Infallible>>>::{closure#0}]>>, warp::filter::FilterFn<[closure@warp::filter::filter_fn_one<[closure@warp::filters::header::optional2<headers::common::if_range::IfRange>::{closure#0}], futures_util::future::ready::Ready<std::result::Result<std::option::Option<headers::common::if_range::IfRange>, std::convert::Infallible>>>::{closure#0}]>>, warp::filter::FilterFn<[closure@warp::filter::filter_fn_one<[closure@warp::filters::header::optional2<headers::common::range::Range>::{closure#0}], futures_util::future::ready::Ready<std::result::Result<std::option::Option<headers::common::range::Range>, std::convert::Infallible>>>::{closure#0}]>>, [closure@warp::filters::fs::conditionals::{closure#0}]>>, fn(warp::filters::fs::ArcPath, warp::filters::fs::Conditionals) -> impl std::future::Future<Output = std::result::Result<warp::filters::fs::File, warp::reject::Rejection>> + std::marker::Send {warp::filters::fs::file_reply}>, warp::filter::and_then::AndThen<warp::filter::FilterFn<[closure@warp::filters::method::method_is<[closure@warp::filters::method::get::{closure#0}]>::{closure#0}]>, fn() -> impl std::future::Future<Output = std::result::Result<impl warp::reply::Reply, std::convert::Infallible>> {server::serve_foo}>>>>>, hyper::body::body::Body>>>>)) (after phase change to runtime-optimized) at bb3[0]:
                                    Field projection `((*_1) as Finished).field[0]` specified type `std::result::Result<(), tokio::task::JoinError>`, but actual type is `std::result::Result<<std::pin::Pin<std::boxed::Box<hyper::proto::h2::server::H2Stream<warp::filter::service::FilteredFuture<futures_util::future::either::Either<futures_util::future::ready::Ready<std::result::Result<(warp::generic::Either<(warp::filters::cors::internal::Preflight,), (warp::generic::Either<(warp::filters::cors::internal::Wrapped<(warp::generic::Either<(warp::filters::fs::File,), (std::string::String,)>,)>,), (warp::generic::Either<(warp::filters::fs::File,), (std::string::String,)>,)>,)>,), warp::reject::Rejection>>, warp::filters::cors::internal::WrappedFuture<warp::filter::or::EitherFuture<warp::filter::and_then::AndThen<warp::filter::and::And<warp::filter::and::And<warp::filter::unify::Unify<warp::filter::or::Or<warp::filter::FilterFn<[closure@warp::filters::method::method_is<[closure@warp::filters::method::get::{closure#0}]>::{closure#0}]>, warp::filter::FilterFn<[closure@warp::filters::method::method_is<[closure@warp::filters::method::head::{closure#0}]>::{closure#0}]>>>, warp::filter::and_then::AndThen<warp::filter::FilterFn<[closure@warp::filters::path::tail::{closure#0}]>, [closure@warp::filters::fs::path_from_tail::{closure#0}]>>, warp::filter::map::Map<warp::filter::and::And<warp::filter::and::And<warp::filter::and::And<warp::filter::FilterFn<[closure@warp::filter::filter_fn_one<[closure@warp::filters::header::optional2<headers::common::if_modified_since::IfModifiedSince>::{closure#0}], futures_util::future::ready::Ready<std::result::Result<std::option::Option<headers::common::if_modified_since::IfModifiedSince>, std::convert::Infallible>>>::{closure#0}]>, warp::filter::FilterFn<[closure@warp::filter::filter_fn_one<[closure@warp::filters::header::optional2<headers::common::if_unmodified_since::IfUnmodifiedSince>::{closure#0}], futures_util::future::ready::Ready<std::result::Result<std::option::Option<headers::common::if_unmodified_since::IfUnmodifiedSince>, std::convert::Infallible>>>::{closure#0}]>>, warp::filter::FilterFn<[closure@warp::filter::filter_fn_one<[closure@warp::filters::header::optional2<headers::common::if_range::IfRange>::{closure#0}], futures_util::future::ready::Ready<std::result::Result<std::option::Option<headers::common::if_range::IfRange>, std::convert::Infallible>>>::{closure#0}]>>, warp::filter::FilterFn<[closure@warp::filter::filter_fn_one<[closure@warp::filters::header::optional2<headers::common::range::Range>::{closure#0}], futures_util::future::ready::Ready<std::result::Result<std::option::Option<headers::common::range::Range>, std::convert::Infallible>>>::{closure#0}]>>, [closure@warp::filters::fs::conditionals::{closure#0}]>>, fn(warp::filters::fs::ArcPath, warp::filters::fs::Conditionals) -> impl std::future::Future<Output = std::result::Result<warp::filters::fs::File, warp::reject::Rejection>> + std::marker::Send {warp::filters::fs::file_reply}>, warp::filter::and_then::AndThen<warp::filter::FilterFn<[closure@warp::filters::method::method_is<[closure@warp::filters::method::get::{closure#0}]>::{closure#0}]>, fn() -> impl std::future::Future<Output = std::result::Result<impl warp::reply::Reply, std::convert::Infallible>> {server::serve_foo}>>>>>, hyper::body::body::Body>>> as std::future::Future>::Output, tokio::task::JoinError>`
    --> /Users/ross/.rustup/toolchains/nightly-aarch64-apple-darwin/lib/rustlib/src/rust/library/core/src/ptr/mod.rs:490:1
        |
    490 | pub unsafe fn drop_in_place<T: ?Sized>(to_drop: *mut T) {
        | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
        |
        = note: delayed at compiler/rustc_const_eval/src/transform/validate.rs:229:30
    
    error: internal compiler error: broken MIR in DropGlue(DefId(2:2803 ~ core[84ec]::ptr::drop_in_place), Some(tokio::runtime::task::core::Stage<hyper::proto::h2::server::H2Stream<warp::filter::service::FilteredFuture<futures_util::future::either::Either<futures_util::future::ready::Ready<std::result::Result<(warp::generic::Either<(warp::filters::cors::internal::Preflight,), (warp::generic::Either<(warp::filters::cors::internal::Wrapped<(warp::generic::Either<(warp::filters::fs::File,), (std::string::String,)>,)>,), (warp::generic::Either<(warp::filters::fs::File,), (std::string::String,)>,)>,)>,), warp::reject::Rejection>>, warp::filters::cors::internal::WrappedFuture<warp::filter::or::EitherFuture<warp::filter::and_then::AndThen<warp::filter::and::And<warp::filter::and::And<warp::filter::unify::Unify<warp::filter::or::Or<warp::filter::FilterFn<[closure@warp::filters::method::method_is<[closure@warp::filters::method::get::{closure#0}]>::{closure#0}]>, warp::filter::FilterFn<[closure@warp::filters::method::method_is<[closure@warp::filters::method::head::{closure#0}]>::{closure#0}]>>>, warp::filter::and_then::AndThen<warp::filter::FilterFn<[closure@warp::filters::path::tail::{closure#0}]>, [closure@warp::filters::fs::path_from_tail::{closure#0}]>>, warp::filter::map::Map<warp::filter::and::And<warp::filter::and::And<warp::filter::and::And<warp::filter::FilterFn<[closure@warp::filter::filter_fn_one<[closure@warp::filters::header::optional2<headers::common::if_modified_since::IfModifiedSince>::{closure#0}], futures_util::future::ready::Ready<std::result::Result<std::option::Option<headers::common::if_modified_since::IfModifiedSince>, std::convert::Infallible>>>::{closure#0}]>, warp::filter::FilterFn<[closure@warp::filter::filter_fn_one<[closure@warp::filters::header::optional2<headers::common::if_unmodified_since::IfUnmodifiedSince>::{closure#0}], futures_util::future::ready::Ready<std::result::Result<std::option::Option<headers::common::if_unmodified_since::IfUnmodifiedSince>, std::convert::Infallible>>>::{closure#0}]>>, warp::filter::FilterFn<[closure@warp::filter::filter_fn_one<[closure@warp::filters::header::optional2<headers::common::if_range::IfRange>::{closure#0}], futures_util::future::ready::Ready<std::result::Result<std::option::Option<headers::common::if_range::IfRange>, std::convert::Infallible>>>::{closure#0}]>>, warp::filter::FilterFn<[closure@warp::filter::filter_fn_one<[closure@warp::filters::header::optional2<headers::common::range::Range>::{closure#0}], futures_util::future::ready::Ready<std::result::Result<std::option::Option<headers::common::range::Range>, std::convert::Infallible>>>::{closure#0}]>>, [closure@warp::filters::fs::conditionals::{closure#0}]>>, fn(warp::filters::fs::ArcPath, warp::filters::fs::Conditionals) -> impl std::future::Future<Output = std::result::Result<warp::filters::fs::File, warp::reject::Rejection>> + std::marker::Send {warp::filters::fs::file_reply}>, warp::filter::and_then::AndThen<warp::filter::FilterFn<[closure@warp::filters::method::method_is<[closure@warp::filters::method::get::{closure#0}]>::{closure#0}]>, fn() -> impl std::future::Future<Output = std::result::Result<impl warp::reply::Reply, std::convert::Infallible>> {server::serve_foo}>>>>>, hyper::body::body::Body>>)) (after phase change to runtime-optimized) at bb3[0]:
                                    Field projection `((*_1) as Finished).field[0]` specified type `std::result::Result<(), tokio::task::JoinError>`, but actual type is `std::result::Result<<hyper::proto::h2::server::H2Stream<warp::filter::service::FilteredFuture<futures_util::future::either::Either<futures_util::future::ready::Ready<std::result::Result<(warp::generic::Either<(warp::filters::cors::internal::Preflight,), (warp::generic::Either<(warp::filters::cors::internal::Wrapped<(warp::generic::Either<(warp::filters::fs::File,), (std::string::String,)>,)>,), (warp::generic::Either<(warp::filters::fs::File,), (std::string::String,)>,)>,)>,), warp::reject::Rejection>>, warp::filters::cors::internal::WrappedFuture<warp::filter::or::EitherFuture<warp::filter::and_then::AndThen<warp::filter::and::And<warp::filter::and::And<warp::filter::unify::Unify<warp::filter::or::Or<warp::filter::FilterFn<[closure@warp::filters::method::method_is<[closure@warp::filters::method::get::{closure#0}]>::{closure#0}]>, warp::filter::FilterFn<[closure@warp::filters::method::method_is<[closure@warp::filters::method::head::{closure#0}]>::{closure#0}]>>>, warp::filter::and_then::AndThen<warp::filter::FilterFn<[closure@warp::filters::path::tail::{closure#0}]>, [closure@warp::filters::fs::path_from_tail::{closure#0}]>>, warp::filter::map::Map<warp::filter::and::And<warp::filter::and::And<warp::filter::and::And<warp::filter::FilterFn<[closure@warp::filter::filter_fn_one<[closure@warp::filters::header::optional2<headers::common::if_modified_since::IfModifiedSince>::{closure#0}], futures_util::future::ready::Ready<std::result::Result<std::option::Option<headers::common::if_modified_since::IfModifiedSince>, std::convert::Infallible>>>::{closure#0}]>, warp::filter::FilterFn<[closure@warp::filter::filter_fn_one<[closure@warp::filters::header::optional2<headers::common::if_unmodified_since::IfUnmodifiedSince>::{closure#0}], futures_util::future::ready::Ready<std::result::Result<std::option::Option<headers::common::if_unmodified_since::IfUnmodifiedSince>, std::convert::Infallible>>>::{closure#0}]>>, warp::filter::FilterFn<[closure@warp::filter::filter_fn_one<[closure@warp::filters::header::optional2<headers::common::if_range::IfRange>::{closure#0}], futures_util::future::ready::Ready<std::result::Result<std::option::Option<headers::common::if_range::IfRange>, std::convert::Infallible>>>::{closure#0}]>>, warp::filter::FilterFn<[closure@warp::filter::filter_fn_one<[closure@warp::filters::header::optional2<headers::common::range::Range>::{closure#0}], futures_util::future::ready::Ready<std::result::Result<std::option::Option<headers::common::range::Range>, std::convert::Infallible>>>::{closure#0}]>>, [closure@warp::filters::fs::conditionals::{closure#0}]>>, fn(warp::filters::fs::ArcPath, warp::filters::fs::Conditionals) -> impl std::future::Future<Output = std::result::Result<warp::filters::fs::File, warp::reject::Rejection>> + std::marker::Send {warp::filters::fs::file_reply}>, warp::filter::and_then::AndThen<warp::filter::FilterFn<[closure@warp::filters::method::method_is<[closure@warp::filters::method::get::{closure#0}]>::{closure#0}]>, fn() -> impl std::future::Future<Output = std::result::Result<impl warp::reply::Reply, std::convert::Infallible>> {server::serve_foo}>>>>>, hyper::body::body::Body> as std::future::Future>::Output, tokio::task::JoinError>`
    --> /Users/ross/.rustup/toolchains/nightly-aarch64-apple-darwin/lib/rustlib/src/rust/library/core/src/ptr/mod.rs:490:1
        |
    490 | pub unsafe fn drop_in_place<T: ?Sized>(to_drop: *mut T) {
        | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
        |
        = note: delayed at compiler/rustc_const_eval/src/transform/validate.rs:229:30
    
    error: internal compiler error: broken MIR in DropGlue(DefId(2:2803 ~ core[84ec]::ptr::drop_in_place), Some(tokio::runtime::task::core::Stage<hyper::server::server::new_svc::NewSvcTask<hyper::server::tcp::addr_stream::AddrStream, futures_util::future::ready::Ready<std::result::Result<hyper::service::util::ServiceFn<[closure@warp::server::Server<warp::filters::cors::internal::CorsFilter<warp::filter::or::Or<warp::filter::and_then::AndThen<warp::filter::and::And<warp::filter::and::And<warp::filter::unify::Unify<warp::filter::or::Or<warp::filter::FilterFn<[closure@warp::filters::method::method_is<[closure@warp::filters::method::get::{closure#0}]>::{closure#0}]>, warp::filter::FilterFn<[closure@warp::filters::method::method_is<[closure@warp::filters::method::head::{closure#0}]>::{closure#0}]>>>, warp::filter::and_then::AndThen<warp::filter::FilterFn<[closure@warp::filters::path::tail::{closure#0}]>, [closure@warp::filters::fs::path_from_tail::{closure#0}]>>, warp::filter::map::Map<warp::filter::and::And<warp::filter::and::And<warp::filter::and::And<warp::filter::FilterFn<[closure@warp::filter::filter_fn_one<[closure@warp::filters::header::optional2<headers::common::if_modified_since::IfModifiedSince>::{closure#0}], futures_util::future::ready::Ready<std::result::Result<std::option::Option<headers::common::if_modified_since::IfModifiedSince>, std::convert::Infallible>>>::{closure#0}]>, warp::filter::FilterFn<[closure@warp::filter::filter_fn_one<[closure@warp::filters::header::optional2<headers::common::if_unmodified_since::IfUnmodifiedSince>::{closure#0}], futures_util::future::ready::Ready<std::result::Result<std::option::Option<headers::common::if_unmodified_since::IfUnmodifiedSince>, std::convert::Infallible>>>::{closure#0}]>>, warp::filter::FilterFn<[closure@warp::filter::filter_fn_one<[closure@warp::filters::header::optional2<headers::common::if_range::IfRange>::{closure#0}], futures_util::future::ready::Ready<std::result::Result<std::option::Option<headers::common::if_range::IfRange>, std::convert::Infallible>>>::{closure#0}]>>, warp::filter::FilterFn<[closure@warp::filter::filter_fn_one<[closure@warp::filters::header::optional2<headers::common::range::Range>::{closure#0}], futures_util::future::ready::Ready<std::result::Result<std::option::Option<headers::common::range::Range>, std::convert::Infallible>>>::{closure#0}]>>, [closure@warp::filters::fs::conditionals::{closure#0}]>>, fn(warp::filters::fs::ArcPath, warp::filters::fs::Conditionals) -> impl std::future::Future<Output = std::result::Result<warp::filters::fs::File, warp::reject::Rejection>> + std::marker::Send {warp::filters::fs::file_reply}>, warp::filter::and_then::AndThen<warp::filter::FilterFn<[closure@warp::filters::method::method_is<[closure@warp::filters::method::get::{closure#0}]>::{closure#0}]>, fn() -> impl std::future::Future<Output = std::result::Result<impl warp::reply::Reply, std::convert::Infallible>> {server::serve_foo}>>>>::bind_ephemeral<([u8; 4], u16)>::{closure#1}::{closure#0}::{closure#0}], hyper::body::body::Body>, std::convert::Infallible>>, hyper::service::util::ServiceFn<[closure@warp::server::Server<warp::filters::cors::internal::CorsFilter<warp::filter::or::Or<warp::filter::and_then::AndThen<warp::filter::and::And<warp::filter::and::And<warp::filter::unify::Unify<warp::filter::or::Or<warp::filter::FilterFn<[closure@warp::filters::method::method_is<[closure@warp::filters::method::get::{closure#0}]>::{closure#0}]>, warp::filter::FilterFn<[closure@warp::filters::method::method_is<[closure@warp::filters::method::head::{closure#0}]>::{closure#0}]>>>, warp::filter::and_then::AndThen<warp::filter::FilterFn<[closure@warp::filters::path::tail::{closure#0}]>, [closure@warp::filters::fs::path_from_tail::{closure#0}]>>, warp::filter::map::Map<warp::filter::and::And<warp::filter::and::And<warp::filter::and::And<warp::filter::FilterFn<[closure@warp::filter::filter_fn_one<[closure@warp::filters::header::optional2<headers::common::if_modified_since::IfModifiedSince>::{closure#0}], futures_util::future::ready::Ready<std::result::Result<std::option::Option<headers::common::if_modified_since::IfModifiedSince>, std::convert::Infallible>>>::{closure#0}]>, warp::filter::FilterFn<[closure@warp::filter::filter_fn_one<[closure@warp::filters::header::optional2<headers::common::if_unmodified_since::IfUnmodifiedSince>::{closure#0}], futures_util::future::ready::Ready<std::result::Result<std::option::Option<headers::common::if_unmodified_since::IfUnmodifiedSince>, std::convert::Infallible>>>::{closure#0}]>>, warp::filter::FilterFn<[closure@warp::filter::filter_fn_one<[closure@warp::filters::header::optional2<headers::common::if_range::IfRange>::{closure#0}], futures_util::future::ready::Ready<std::result::Result<std::option::Option<headers::common::if_range::IfRange>, std::convert::Infallible>>>::{closure#0}]>>, warp::filter::FilterFn<[closure@warp::filter::filter_fn_one<[closure@warp::filters::header::optional2<headers::common::range::Range>::{closure#0}], futures_util::future::ready::Ready<std::result::Result<std::option::Option<headers::common::range::Range>, std::convert::Infallible>>>::{closure#0}]>>, [closure@warp::filters::fs::conditionals::{closure#0}]>>, fn(warp::filters::fs::ArcPath, warp::filters::fs::Conditionals) -> impl std::future::Future<Output = std::result::Result<warp::filters::fs::File, warp::reject::Rejection>> + std::marker::Send {warp::filters::fs::file_reply}>, warp::filter::and_then::AndThen<warp::filter::FilterFn<[closure@warp::filters::method::method_is<[closure@warp::filters::method::get::{closure#0}]>::{closure#0}]>, fn() -> impl std::future::Future<Output = std::result::Result<impl warp::reply::Reply, std::convert::Infallible>> {server::serve_foo}>>>>::bind_ephemeral<([u8; 4], u16)>::{closure#1}::{closure#0}::{closure#0}], hyper::body::body::Body>, hyper::common::exec::Exec, hyper::server::server::NoopWatcher>>)) (after phase change to runtime-optimized) at bb3[0]:
                                    Field projection `((*_1) as Finished).field[0]` specified type `std::result::Result<(), tokio::task::JoinError>`, but actual type is `std::result::Result<<hyper::server::server::new_svc::NewSvcTask<hyper::server::tcp::addr_stream::AddrStream, futures_util::future::ready::Ready<std::result::Result<hyper::service::util::ServiceFn<[closure@warp::server::Server<warp::filters::cors::internal::CorsFilter<warp::filter::or::Or<warp::filter::and_then::AndThen<warp::filter::and::And<warp::filter::and::And<warp::filter::unify::Unify<warp::filter::or::Or<warp::filter::FilterFn<[closure@warp::filters::method::method_is<[closure@warp::filters::method::get::{closure#0}]>::{closure#0}]>, warp::filter::FilterFn<[closure@warp::filters::method::method_is<[closure@warp::filters::method::head::{closure#0}]>::{closure#0}]>>>, warp::filter::and_then::AndThen<warp::filter::FilterFn<[closure@warp::filters::path::tail::{closure#0}]>, [closure@warp::filters::fs::path_from_tail::{closure#0}]>>, warp::filter::map::Map<warp::filter::and::And<warp::filter::and::And<warp::filter::and::And<warp::filter::FilterFn<[closure@warp::filter::filter_fn_one<[closure@warp::filters::header::optional2<headers::common::if_modified_since::IfModifiedSince>::{closure#0}], futures_util::future::ready::Ready<std::result::Result<std::option::Option<headers::common::if_modified_since::IfModifiedSince>, std::convert::Infallible>>>::{closure#0}]>, warp::filter::FilterFn<[closure@warp::filter::filter_fn_one<[closure@warp::filters::header::optional2<headers::common::if_unmodified_since::IfUnmodifiedSince>::{closure#0}], futures_util::future::ready::Ready<std::result::Result<std::option::Option<headers::common::if_unmodified_since::IfUnmodifiedSince>, std::convert::Infallible>>>::{closure#0}]>>, warp::filter::FilterFn<[closure@warp::filter::filter_fn_one<[closure@warp::filters::header::optional2<headers::common::if_range::IfRange>::{closure#0}], futures_util::future::ready::Ready<std::result::Result<std::option::Option<headers::common::if_range::IfRange>, std::convert::Infallible>>>::{closure#0}]>>, warp::filter::FilterFn<[closure@warp::filter::filter_fn_one<[closure@warp::filters::header::optional2<headers::common::range::Range>::{closure#0}], futures_util::future::ready::Ready<std::result::Result<std::option::Option<headers::common::range::Range>, std::convert::Infallible>>>::{closure#0}]>>, [closure@warp::filters::fs::conditionals::{closure#0}]>>, fn(warp::filters::fs::ArcPath, warp::filters::fs::Conditionals) -> impl std::future::Future<Output = std::result::Result<warp::filters::fs::File, warp::reject::Rejection>> + std::marker::Send {warp::filters::fs::file_reply}>, warp::filter::and_then::AndThen<warp::filter::FilterFn<[closure@warp::filters::method::method_is<[closure@warp::filters::method::get::{closure#0}]>::{closure#0}]>, fn() -> impl std::future::Future<Output = std::result::Result<impl warp::reply::Reply, std::convert::Infallible>> {server::serve_foo}>>>>::bind_ephemeral<([u8; 4], u16)>::{closure#1}::{closure#0}::{closure#0}], hyper::body::body::Body>, std::convert::Infallible>>, hyper::service::util::ServiceFn<[closure@warp::server::Server<warp::filters::cors::internal::CorsFilter<warp::filter::or::Or<warp::filter::and_then::AndThen<warp::filter::and::And<warp::filter::and::And<warp::filter::unify::Unify<warp::filter::or::Or<warp::filter::FilterFn<[closure@warp::filters::method::method_is<[closure@warp::filters::method::get::{closure#0}]>::{closure#0}]>, warp::filter::FilterFn<[closure@warp::filters::method::method_is<[closure@warp::filters::method::head::{closure#0}]>::{closure#0}]>>>, warp::filter::and_then::AndThen<warp::filter::FilterFn<[closure@warp::filters::path::tail::{closure#0}]>, [closure@warp::filters::fs::path_from_tail::{closure#0}]>>, warp::filter::map::Map<warp::filter::and::And<warp::filter::and::And<warp::filter::and::And<warp::filter::FilterFn<[closure@warp::filter::filter_fn_one<[closure@warp::filters::header::optional2<headers::common::if_modified_since::IfModifiedSince>::{closure#0}], futures_util::future::ready::Ready<std::result::Result<std::option::Option<headers::common::if_modified_since::IfModifiedSince>, std::convert::Infallible>>>::{closure#0}]>, warp::filter::FilterFn<[closure@warp::filter::filter_fn_one<[closure@warp::filters::header::optional2<headers::common::if_unmodified_since::IfUnmodifiedSince>::{closure#0}], futures_util::future::ready::Ready<std::result::Result<std::option::Option<headers::common::if_unmodified_since::IfUnmodifiedSince>, std::convert::Infallible>>>::{closure#0}]>>, warp::filter::FilterFn<[closure@warp::filter::filter_fn_one<[closure@warp::filters::header::optional2<headers::common::if_range::IfRange>::{closure#0}], futures_util::future::ready::Ready<std::result::Result<std::option::Option<headers::common::if_range::IfRange>, std::convert::Infallible>>>::{closure#0}]>>, warp::filter::FilterFn<[closure@warp::filter::filter_fn_one<[closure@warp::filters::header::optional2<headers::common::range::Range>::{closure#0}], futures_util::future::ready::Ready<std::result::Result<std::option::Option<headers::common::range::Range>, std::convert::Infallible>>>::{closure#0}]>>, [closure@warp::filters::fs::conditionals::{closure#0}]>>, fn(warp::filters::fs::ArcPath, warp::filters::fs::Conditionals) -> impl std::future::Future<Output = std::result::Result<warp::filters::fs::File, warp::reject::Rejection>> + std::marker::Send {warp::filters::fs::file_reply}>, warp::filter::and_then::AndThen<warp::filter::FilterFn<[closure@warp::filters::method::method_is<[closure@warp::filters::method::get::{closure#0}]>::{closure#0}]>, fn() -> impl std::future::Future<Output = std::result::Result<impl warp::reply::Reply, std::convert::Infallible>> {server::serve_foo}>>>>::bind_ephemeral<([u8; 4], u16)>::{closure#1}::{closure#0}::{closure#0}], hyper::body::body::Body>, hyper::common::exec::Exec, hyper::server::server::NoopWatcher> as std::future::Future>::Output, tokio::task::JoinError>`
    --> /Users/ross/.rustup/toolchains/nightly-aarch64-apple-darwin/lib/rustlib/src/rust/library/core/src/ptr/mod.rs:490:1
        |
    490 | pub unsafe fn drop_in_place<T: ?Sized>(to_drop: *mut T) {
        | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
        |
        = note: delayed at compiler/rustc_const_eval/src/transform/validate.rs:229:30
    
    thread 'rustc' panicked at 'Box<dyn Any>', compiler/rustc_errors/src/lib.rs:1609:13
    stack backtrace:
    0:        0x100f070a4 - <std::sys_common::backtrace::_print::DisplayBacktrace as core::fmt::Display>::fmt::ha1b6410411f3c340
    1:        0x100f584d8 - core::fmt::write::h7604b8c17a86617a
    2:        0x100efa668 - std::io::Write::write_fmt::h93c8dc0564e0a234
    3:        0x100f06eb8 - std::sys_common::backtrace::print::h1f68da65a6a4f5dd
    4:        0x100f09968 - std::panicking::default_hook::{{closure}}::h8fdabf2fa33d7b60
    5:        0x100f096c0 - std::panicking::default_hook::h54a5d54cedbdd951
    6:        0x109050450 - rustc_driver[6a5e9e2e7d55768f]::DEFAULT_HOOK::{closure#0}::{closure#0}
    7:        0x100f0a060 - std::panicking::rust_panic_with_hook::h47d2b7b8ffc79ddc
    8:        0x10cfc8508 - std[d3773fb73838a2fa]::panicking::begin_panic::<rustc_errors[5405a6607c821b07]::ExplicitBug>::{closure#0}
    9:        0x10cfc6b50 - std[d3773fb73838a2fa]::sys_common::backtrace::__rust_end_short_backtrace::<std[d3773fb73838a2fa]::panicking::begin_panic<rustc_errors[5405a6607c821b07]::ExplicitBug>::{closure#0}, !>
    10:        0x10d33a82c - std[d3773fb73838a2fa]::panicking::begin_panic::<rustc_errors[5405a6607c821b07]::ExplicitBug>
    11:        0x10cfba4e8 - std[d3773fb73838a2fa]::panic::panic_any::<rustc_errors[5405a6607c821b07]::ExplicitBug>
    12:        0x10cfc0034 - <rustc_errors[5405a6607c821b07]::HandlerInner>::flush_delayed::<alloc[2b99271f9fef953d]::vec::Vec<rustc_errors[5405a6607c821b07]::diagnostic::Diagnostic>, &str>
    13:        0x10cfbcab4 - <rustc_errors[5405a6607c821b07]::HandlerInner as core[84ec5d653ff67156]::ops::drop::Drop>::drop
    14:        0x108fe5750 - core[84ec5d653ff67156]::ptr::drop_in_place::<rustc_session[dc8a04aff9381d74]::parse::ParseSess>
    15:        0x108fe6b34 - core[84ec5d653ff67156]::ptr::drop_in_place::<rustc_session[dc8a04aff9381d74]::session::Session>
    16:        0x109040338 - core[84ec5d653ff67156]::ptr::drop_in_place::<rustc_interface[9aa740cfc19abaea]::interface::Compiler>
    17:        0x10902c2c8 - rustc_span[135d95c756f68069]::with_source_map::<core[84ec5d653ff67156]::result::Result<(), rustc_errors[5405a6607c821b07]::ErrorGuaranteed>, rustc_interface[9aa740cfc19abaea]::interface::run_compiler<core[84ec5d653ff67156]::result::Result<(), rustc_errors[5405a6607c821b07]::ErrorGuaranteed>, rustc_driver[6a5e9e2e7d55768f]::run_compiler::{closure#1}>::{closure#0}::{closure#0}>
    18:        0x109024174 - <scoped_tls[c3fa14e5a8a3ddbf]::ScopedKey<rustc_span[135d95c756f68069]::SessionGlobals>>::set::<rustc_interface[9aa740cfc19abaea]::interface::run_compiler<core[84ec5d653ff67156]::result::Result<(), rustc_errors[5405a6607c821b07]::ErrorGuaranteed>, rustc_driver[6a5e9e2e7d55768f]::run_compiler::{closure#1}>::{closure#0}, core[84ec5d653ff67156]::result::Result<(), rustc_errors[5405a6607c821b07]::ErrorGuaranteed>>
    19:        0x108ff61f8 - std[d3773fb73838a2fa]::sys_common::backtrace::__rust_begin_short_backtrace::<rustc_interface[9aa740cfc19abaea]::util::run_in_thread_pool_with_globals<rustc_interface[9aa740cfc19abaea]::interface::run_compiler<core[84ec5d653ff67156]::result::Result<(), rustc_errors[5405a6607c821b07]::ErrorGuaranteed>, rustc_driver[6a5e9e2e7d55768f]::run_compiler::{closure#1}>::{closure#0}, core[84ec5d653ff67156]::result::Result<(), rustc_errors[5405a6607c821b07]::ErrorGuaranteed>>::{closure#0}::{closure#0}, core[84ec5d653ff67156]::result::Result<(), rustc_errors[5405a6607c821b07]::ErrorGuaranteed>>
    20:        0x108fda6bc - <<std[d3773fb73838a2fa]::thread::Builder>::spawn_unchecked_<rustc_interface[9aa740cfc19abaea]::util::run_in_thread_pool_with_globals<rustc_interface[9aa740cfc19abaea]::interface::run_compiler<core[84ec5d653ff67156]::result::Result<(), rustc_errors[5405a6607c821b07]::ErrorGuaranteed>, rustc_driver[6a5e9e2e7d55768f]::run_compiler::{closure#1}>::{closure#0}, core[84ec5d653ff67156]::result::Result<(), rustc_errors[5405a6607c821b07]::ErrorGuaranteed>>::{closure#0}::{closure#0}, core[84ec5d653ff67156]::result::Result<(), rustc_errors[5405a6607c821b07]::ErrorGuaranteed>>::{closure#1} as core[84ec5d653ff67156]::ops::function::FnOnce<()>>::call_once::{shim:vtable#0}
    21:        0x100f123c8 - std::sys::unix::thread::Thread::new::thread_start::hbe89f800e9cf27c6
    22:        0x18ba9a06c - __pthread_deallocate
    
    note: the compiler unexpectedly panicked. this is a bug.
    
    note: we would appreciate a bug report: https://github.com/rust-lang/rust/issues/new?labels=C-bug%2C+I-ICE%2C+T-compiler&template=ice.md
    
    note: rustc 1.67.0-nightly (c090c6880 2022-12-01) running on aarch64-apple-darwin
    
    note: compiler flags: --crate-type bin -C embed-bitcode=no -C split-debuginfo=unpacked -C debuginfo=2 -C incremental=[REDACTED]
    
    note: some of the compiler flags provided by cargo are hidden
    
    query stack during panic:
    end of query stack
    warning: `app` (bin "app") generated 1 warning
    error: could not compile `app`; 1 warning emitted