Closed
Description
It looks PR #76814 introduced a bug. Is it possible to revert this change until resolved?
cc: @jackh726 , @nikomatsakis
FAILED:
/b/s/w/ir/x/w/recipe_cleanup/rustTPrefG/bin/rustc --color=always --crate-name brightness_manager ../../src/ui/bin/brightness_manager/src/main.rs --crate-type bin --emit=dep-info=./brightness_manager.d,link -Zdep-info-omit-d-target -C link-args=--Map="./exe.unstripped/brightness_manager.map" --cfg=rust_panic=\"abort\" --cfg=__rust_toolchain=\"zlth2Vwh8AafQ2nu6NhLVhOq07bDg98afOzh7hxmxA0C\" -L gen/zircon/public/sysroot/cpp/lib -Clinker=/b/s/w/ir/x/w/fuchsia/prebuilt/third_party/clang/linux-x64/bin/lld -Clink-arg=--sysroot=gen/zircon/public/sysroot/cpp -Clink-arg=-L/b/s/w/ir/x/w/fuchsia/prebuilt/third_party/clang/linux-x64/lib/clang/13.0.0/x86_64-fuchsia/lib -Clink-arg=--pack-dyn-relocs=relr -Clink-arg=-dynamic-linker=ld.so.1 -Clink-arg=--icf=all --remap-path-prefix /b/s/w/ir/x/w/fuchsia/=../../ -Cforce-frame-pointers -Copt-level=0 -Cdebuginfo=2 --edition=2018 -Zallow-features= --target x86_64-fuchsia --cap-lints=warn -Wrust-2018-idioms -Dwarnings -Clink-args=-zstack-size=0x200000 -Cpanic=abort -Cforce-unwind-tables=yes -Zpanic_abort_tests -Cprefer-dynamic -o "./exe.unstripped/brightness_manager" -Ldependency=obj/sdk/fidl/fuchsia.hardware.backlight/fuchsia.hardware.backlight-rustc -Ldependency=obj/src/lib/fidl/rust/fidl -Ldependency=obj/src/lib/fuchsia-async -Ldependency=host_x64 -Ldependency=obj/src/lib/fuchsia-system-alloc -Ldependency=obj/src/lib/zircon/rust -Ldependency=obj/third_party/rust_crates -Ldependency=obj/src/lib/zerocopy -Ldependency=obj/zircon/vdso/zx/zx-rustc -Ldependency=obj/sdk/fidl/fuchsia.hardware.input/fuchsia.hardware.input-rustc -Ldependency=obj/sdk/fidl/fuchsia.ui.brightness/fuchsia.ui.brightness-rustc -Ldependency=obj/sdk/fidl/fuchsia.ui.input/fuchsia.ui.input-rustc -Ldependency=obj/sdk/fidl/fuchsia.ui.input2/fuchsia.ui.input2-rustc -Ldependency=obj/sdk/fidl/fuchsia.ui.views/fuchsia.ui.views-rustc -Ldependency=obj/sdk/fidl/fuchsia.ui.input3/fuchsia.ui.input3-rustc -Ldependency=obj/sdk/fidl/fuchsia.input/fuchsia.input-rustc -Ldependency=obj/src/lib/fdio/rust -Ldependency=obj/sdk/fidl/fuchsia.device/fuchsia.device-rustc -Ldependency=obj/sdk/fidl/fuchsia.hardware.power.statecontrol/fuchsia.hardware.power.statecontrol-rustc -Ldependency=obj/src/lib/fuchsia-runtime -Ldependency=obj/src/lib/fuchsia-component -Ldependency=obj/garnet/lib/rust/files_async -Ldependency=obj/sdk/fidl/fuchsia.io/fuchsia.io-rustc -Ldependency=obj/sdk/fidl/fuchsia.io2/fuchsia.io2-rustc -Ldependency=obj/sdk/fidl/fuchsia.mem/fuchsia.mem-rustc -Ldependency=obj/garnet/lib/rust/io_util -Ldependency=obj/sdk/fidl/fuchsia.sys/fuchsia.sys-rustc -Ldependency=obj/sdk/fidl/fuchsia.sys2/fuchsia.sys2-rustc -Ldependency=obj/sdk/fidl/fuchsia.component/fuchsia.component-rustc -Ldependency=obj/sdk/fidl/fuchsia.data/fuchsia.data-rustc -Ldependency=obj/sdk/fidl/fuchsia.url/fuchsia.url-rustc -Ldependency=obj/src/lib/syslog/rust -Ldependency=obj/sdk/fidl/fuchsia.logger/fuchsia.logger-rustc -Ldependency=obj/sdk/fidl/fuchsia.diagnostics/fuchsia.diagnostics-rustc -Ldependency=obj/src/lib/watch_handler -Lnative=obj/sdk/lib/syslog/cpp -Lnative=obj/out/not-default/fidling/gen/sdk/fidl/fuchsia.diagnostics.stream/fuchsia.diagnostics.stream/fuchsia/diagnostics/stream/cpp -Lnative=obj/out/not-default/fidling/gen/sdk/fidl/fuchsia.diagnostics.stream -Lnative=obj/out/not-default/fidling/gen/sdk/fidl/fuchsia.diagnostics/fuchsia.diagnostics/fuchsia/diagnostics/cpp -Lnative=obj/out/not-default/fidling/gen/sdk/fidl/fuchsia.diagnostics -Lnative=obj/out/not-default/fidling/gen/sdk/fidl/fuchsia.mem/fuchsia.mem/fuchsia/mem/cpp -Lnative=obj/out/not-default/fidling/gen/sdk/fidl/fuchsia.mem -Lnative=obj/out/not-default/fidling/gen/zircon/vdso/zx/zx/zx/cpp -Lnative=obj/out/not-default/fidling/gen/zircon/vdso/zx -Lnative=obj/sdk/lib/fidl/cpp/internal -Lnative=obj/sdk/lib/fidl/cpp -Lnative=obj/out/not-default/fidling/gen/sdk/fidl/fuchsia.logger/fuchsia.logger/fuchsia/logger/cpp -Lnative=obj/out/not-default/fidling/gen/sdk/fidl/fuchsia.logger -Lnative=obj/sdk/lib/syslog/streams/cpp -Lnative=user.libc_x64/obj/zircon/system/ulib/c -Lnative=x64-shared/lib.unstripped -Lnative=obj/sdk/lib/fit -Lnative=obj/sdk/lib/stdcompat -Lnative=obj/zircon/system/ulib/fidl -Lnative=obj/sdk/lib/fit-promise -Lnative=obj/zircon/system/ulib/zx -Lnative=obj/zircon/system/ulib/async -Lnative=user.libc_x64 -Clink-arg=obj/sdk/lib/syslog/cpp/cpp.log_settings.cc.o -Clink-arg=obj/sdk/lib/syslog/cpp/cpp.macros.cc.o -Clink-arg=obj/out/not-default/fidling/gen/sdk/fidl/fuchsia.diagnostics.stream/fuchsia.diagnostics.stream/fuchsia/diagnostics/stream/cpp/fuchsia.diagnostics.stream_hlcpp.fidl.cc.o -Clink-arg=obj/out/not-default/fidling/gen/sdk/fidl/fuchsia.diagnostics.stream/fuchsia.diagnostics.stream_tables.fuchsia.diagnostics.stream.fidl.tables.c.o -Clink-arg=obj/out/not-default/fidling/gen/sdk/fidl/fuchsia.diagnostics/fuchsia.diagnostics/fuchsia/diagnostics/cpp/fuchsia.diagnostics_hlcpp.fidl.cc.o -Clink-arg=obj/out/not-default/fidling/gen/sdk/fidl/fuchsia.diagnostics/fuchsia.diagnostics_tables.fuchsia.diagnostics.fidl.tables.c.o -Clink-arg=obj/out/not-default/fidling/gen/sdk/fidl/fuchsia.mem/fuchsia.mem/fuchsia/mem/cpp/fuchsia.mem_hlcpp.fidl.cc.o -Clink-arg=obj/out/not-default/fidling/gen/sdk/fidl/fuchsia.mem/fuchsia.mem_tables.fuchsia.mem.fidl.tables.c.o -Clink-arg=obj/out/not-default/fidling/gen/zircon/vdso/zx/zx/zx/cpp/zx_hlcpp.fidl.cc.o -Clink-arg=obj/out/not-default/fidling/gen/zircon/vdso/zx/zx_tables.zx.fidl.tables.c.o -Clink-arg=obj/sdk/lib/fidl/cpp/internal/cpp.message_handler.cc.o -Clink-arg=obj/sdk/lib/fidl/cpp/internal/cpp.message_reader.cc.o -Clink-arg=obj/sdk/lib/fidl/cpp/internal/cpp.pending_response.cc.o -Clink-arg=obj/sdk/lib/fidl/cpp/internal/cpp.proxy.cc.o -Clink-arg=obj/sdk/lib/fidl/cpp/internal/cpp.proxy_controller.cc.o -Clink-arg=obj/sdk/lib/fidl/cpp/internal/cpp.stub.cc.o -Clink-arg=obj/sdk/lib/fidl/cpp/internal/cpp.stub_controller.cc.o -Clink-arg=obj/sdk/lib/fidl/cpp/internal/cpp.weak_stub_controller.cc.o -Clink-arg=obj/sdk/lib/fidl/cpp/internal/cpp_sync.logging.cc.o -Clink-arg=obj/sdk/lib/fidl/cpp/internal/cpp_sync.message_sender.cc.o -Clink-arg=obj/sdk/lib/fidl/cpp/internal/cpp_sync.synchronous_proxy.cc.o -Clink-arg=obj/sdk/lib/fidl/cpp/cpp_base.builder.cc.o -Clink-arg=obj/sdk/lib/fidl/cpp/cpp_base.clone.cc.o -Clink-arg=obj/sdk/lib/fidl/cpp/cpp_base.decoder.cc.o -Clink-arg=obj/sdk/lib/fidl/cpp/cpp_base.encoder.cc.o -Clink-arg=obj/sdk/lib/fidl/cpp/cpp_base.message.cc.o -Clink-arg=obj/sdk/lib/fidl/cpp/cpp_base.message_buffer.cc.o -Clink-arg=obj/sdk/lib/fidl/cpp/cpp_base.message_builder.cc.o -Clink-arg=obj/out/not-default/fidling/gen/sdk/fidl/fuchsia.logger/fuchsia.logger/fuchsia/logger/cpp/fuchsia.logger_hlcpp.fidl.cc.o -Clink-arg=obj/out/not-default/fidling/gen/sdk/fidl/fuchsia.logger/fuchsia.logger_tables.fuchsia.logger.fidl.tables.c.o -Clink-arg=obj/sdk/lib/syslog/streams/cpp/streams-encoder.encode.cc.o -Clink-arg=user.libc_x64/obj/zircon/system/ulib/c/crt1.Scrt1.cc.o -Clink-arg=obj/sdk/lib/syslog/cpp/libbackend_fuchsia_lib_rust.a -Clink-arg=x64-shared/lib.unstripped/libbackend_fuchsia_globals.so -Clink-arg=obj/sdk/lib/fit/libfit.a -Clink-arg=obj/sdk/lib/stdcompat/libstdcompat.a -Clink-arg=obj/zircon/system/ulib/fidl/libfidl_base.a -Clink-arg=obj/sdk/lib/fit-promise/libfit-promise.a -Clink-arg=obj/zircon/system/ulib/fidl/libfidl.a -Clink-arg=obj/zircon/system/ulib/zx/libzx.a -Clink-arg=obj/zircon/system/ulib/async/libasync.a -Clink-arg=x64-shared/lib.unstripped/libasync-default.so -Clink-arg=x64-shared/lib.unstripped/libfdio.so -Clink-arg=x64-shared/lib.unstripped/libsyslog.so -Clink-arg=user.libc_x64/libc.so.debug -Lnative=../../build/config/zircon/libc-dummy -Clink-arg=libzircon.so --extern fidl_fuchsia_hardware_backlight=obj/sdk/fidl/fuchsia.hardware.backlight/fuchsia.hardware.backlight-rustc/libfidl_fuchsia_hardware_backlight.rlib --extern fidl_fuchsia_hardware_input=obj/sdk/fidl/fuchsia.hardware.input/fuchsia.hardware.input-rustc/libfidl_fuchsia_hardware_input.rlib --extern fidl_fuchsia_ui_brightness=obj/sdk/fidl/fuchsia.ui.brightness/fuchsia.ui.brightness-rustc/libfidl_fuchsia_ui_brightness.rlib --extern fidl_fuchsia_ui_input=obj/sdk/fidl/fuchsia.ui.input/fuchsia.ui.input-rustc/libfidl_fuchsia_ui_input.rlib --extern fdio=obj/src/lib/fdio/rust/libfdio.rlib --extern fidl=obj/src/lib/fidl/rust/fidl/libfidl.rlib --extern fuchsia_async=obj/src/lib/fuchsia-async/libfuchsia_async.rlib --extern fuchsia_component=obj/src/lib/fuchsia-component/libfuchsia_component.rlib --extern fuchsia_runtime=obj/src/lib/fuchsia-runtime/libfuchsia_runtime.rlib --extern fuchsia_syslog=obj/src/lib/syslog/rust/libfuchsia_syslog.rlib --extern watch_handler=obj/src/lib/watch_handler/libwatch_handler.rlib --extern fuchsia_zircon=obj/src/lib/zircon/rust/libfuchsia_zircon.rlib --extern anyhow=obj/third_party/rust_crates/libanyhow-34b5b8ef286e2000.rlib --extern async_trait=host_x64/libasync_trait-c6b6d222802967e6.so --extern byteorder=obj/third_party/rust_crates/libbyteorder-e4429ddc31d502a7.rlib --extern futures=obj/third_party/rust_crates/libfutures-3c827392713a33d4.rlib --extern futures_util=obj/third_party/rust_crates/libfutures_util-9cbfc1877c4fcb4.rlib --extern lazy_static=obj/third_party/rust_crates/liblazy_static-cdf593bd3fb3d68f.rlib --extern num_traits=obj/third_party/rust_crates/libnum_traits-a6e1ee504861eea7.rlib --extern parking_lot=obj/third_party/rust_crates/libparking_lot-6721767503fecbee.rlib --extern serde=obj/third_party/rust_crates/libserde-51abe0aa53b0d3ac.rlib --extern serde_json=obj/third_party/rust_crates/libserde_json-7635f31531fde4db.rlib --extern splines=obj/third_party/rust_crates/libsplines-d1b51f4ec5d923f7.rlib --extern thiserror=obj/third_party/rust_crates/libthiserror-dcdc66d3bbb690d3.rlib && ../../prebuilt/third_party/python3/linux-x64/bin/python3.8 -S ../../build/gn/verify_depfile.py -t "//src/ui/bin/brightness_manager:bin" -d ./brightness_manager.d ../../src/ui/bin/brightness_manager/src/backlight.rs ../../src/ui/bin/brightness_manager/src/control.rs ../../src/ui/bin/brightness_manager/src/main.rs ../../src/ui/bin/brightness_manager/src/sender_channel.rs ../../src/ui/bin/brightness_manager/src/sensor.rs && ../../prebuilt/third_party/clang/linux-x64/bin/llvm-objcopy --strip-sections "./exe.unstripped/brightness_manager" "./brightness_manager" && ../../prebuilt/tools/buildidtool/linux-x64/buildidtool -build-id-dir .build-id -stamp "./brightness_manager.build-id.stamp" -entry "=./brightness_manager" -entry ".debug=./exe.unstripped/brightness_manager"
error: internal compiler error: compiler/rustc_mir/src/transform/generator.rs:751:13: Broken MIR: generator contains type impl futures::Future in MIR, but typeck only knows about for<'r, 's, 't0, 't1, 't2, 't3, 't4, 't5> {ResumeTy, ServiceFs<ServiceObjLocal<'r, ControlRequestStream>>, impl futures::Future, (), Backlight, Arc<futures::lock::Mutex<Backlight>>, impl futures::Future, Sensor, Arc<futures::lock::Mutex<Sensor>>, SenderChannel<f32>, Arc<futures::lock::Mutex<SenderChannel<f32>>>, SenderChannel<bool>, Arc<futures::lock::Mutex<SenderChannel<bool>>>, Arc<futures::lock::Mutex<(dyn SensorControl + 's)>>, Arc<futures::lock::Mutex<(dyn BacklightControl + 't0)>>, impl futures::Future, Control, Arc<futures::lock::Mutex<Control>>, fn(ControlRequestStream, Arc<futures::lock::Mutex<(dyn ControlTrait + 't1)>>) -> Pin<Box<(dyn futures::Future<Output = Result<(), anyhow::Error>> + 't2)>>, Arc<futures::lock::Mutex<(dyn ControlTrait + 't3)>>, impl futures::Future}
--> ../../src/ui/bin/brightness_manager/src/main.rs:154:10
|
154 | async fn main() -> Result<(), Error> {
| ^^^^
thread 'rustc' panicked at 'Box<Any>', /b/s/w/ir/x/w/rust/library/std/src/panic.rs:59:5
stack backtrace:
0: std::panicking::begin_panic
1: std::panic::panic_any
2: rustc_errors::HandlerInner::span_bug
3: rustc_errors::Handler::span_bug
4: rustc_middle::util::bug::opt_span_bug_fmt::{{closure}}
5: rustc_middle::ty::context::tls::with_opt::{{closure}}
6: rustc_middle::ty::context::tls::with_opt
7: rustc_middle::util::bug::opt_span_bug_fmt
8: rustc_middle::util::bug::span_bug_fmt
9: <rustc_mir::transform::generator::StateTransform as rustc_mir::transform::MirPass>::run_pass
10: rustc_mir::transform::run_passes
11: rustc_mir::transform::optimized_mir
12: rustc_query_system::dep_graph::graph::DepGraph<K>::with_task_impl
13: rustc_data_structures::stack::ensure_sufficient_stack
14: rustc_query_system::query::plumbing::force_query_with_job
15: rustc_query_system::query::plumbing::get_query_impl
16: <rustc_query_impl::Queries as rustc_middle::ty::query::QueryEngine>::optimized_mir
17: rustc_middle::ty::<impl rustc_middle::ty::context::TyCtxt>::generator_layout
18: rustc_middle::ty::layout::LayoutCx<rustc_middle::ty::context::TyCtxt>::layout_raw_uncached
19: rustc_middle::ty::layout::layout_raw
20: rustc_query_impl::<impl rustc_query_system::query::config::QueryAccessors<rustc_query_impl::plumbing::QueryCtxt> for rustc_query_impl::queries::layout_raw>::compute
21: rustc_query_system::dep_graph::graph::DepGraph<K>::with_task_impl
22: rustc_data_structures::stack::ensure_sufficient_stack
23: rustc_query_system::query::plumbing::force_query_with_job
24: rustc_query_system::query::plumbing::get_query_impl
25: <rustc_query_impl::Queries as rustc_middle::ty::query::QueryEngine>::layout_raw
26: <rustc_middle::ty::layout::LayoutCx<rustc_middle::ty::context::TyCtxt> as rustc_target::abi::LayoutOf>::layout_of
27: <alloc::vec::Vec<T> as alloc::vec::spec_from_iter::SpecFromIter<T,I>>::from_iter
28: <core::iter::adapters::map::Map<I,F> as core::iter::traits::iterator::Iterator>::try_fold
29: <alloc::vec::Vec<T> as alloc::vec::spec_from_iter::SpecFromIter<T,I>>::from_iter
30: rustc_middle::ty::layout::LayoutCx<rustc_middle::ty::context::TyCtxt>::layout_raw_uncached
31: rustc_middle::ty::layout::layout_raw
32: rustc_query_impl::<impl rustc_query_system::query::config::QueryAccessors<rustc_query_impl::plumbing::QueryCtxt> for rustc_query_impl::queries::layout_raw>::compute
33: rustc_query_system::dep_graph::graph::DepGraph<K>::with_task_impl
34: rustc_data_structures::stack::ensure_sufficient_stack
35: rustc_query_system::query::plumbing::force_query_with_job
36: rustc_query_system::query::plumbing::get_query_impl
37: <rustc_query_impl::Queries as rustc_middle::ty::query::QueryEngine>::layout_raw
38: <rustc_middle::ty::layout::LayoutCx<rustc_middle::ty::context::TyCtxt> as rustc_target::abi::LayoutOf>::layout_of
39: <rustc_mir::transform::const_prop::ConstProp as rustc_mir::transform::MirPass>::run_pass
40: rustc_mir::transform::run_passes
41: rustc_mir::transform::optimized_mir
42: rustc_query_system::dep_graph::graph::DepGraph<K>::with_task_impl
43: rustc_data_structures::stack::ensure_sufficient_stack
44: rustc_query_system::query::plumbing::force_query_with_job
45: rustc_query_system::query::plumbing::get_query_impl
46: <rustc_query_impl::Queries as rustc_middle::ty::query::QueryEngine>::optimized_mir
47: rustc_middle::ty::<impl rustc_middle::ty::context::TyCtxt>::instance_mir
48: rustc_mir::monomorphize::collector::collect_neighbours
49: rustc_mir::monomorphize::collector::collect_items_rec
50: rustc_session::utils::<impl rustc_session::session::Session>::time
51: rustc_mir::monomorphize::collector::collect_crate_mono_items
52: rustc_mir::monomorphize::partitioning::collect_and_partition_mono_items
53: rustc_query_impl::<impl rustc_query_system::query::config::QueryAccessors<rustc_query_impl::plumbing::QueryCtxt> for rustc_query_impl::queries::collect_and_partition_mono_items>::compute
54: rustc_query_system::dep_graph::graph::DepGraph<K>::with_task_impl
55: rustc_data_structures::stack::ensure_sufficient_stack
56: rustc_query_system::query::plumbing::force_query_with_job
57: rustc_query_system::query::plumbing::get_query_impl
58: <rustc_query_impl::Queries as rustc_middle::ty::query::QueryEngine>::collect_and_partition_mono_items
59: <rustc_codegen_llvm::LlvmCodegenBackend as rustc_codegen_ssa::traits::backend::CodegenBackend>::codegen_crate
60: rustc_interface::passes::QueryContext::enter
61: rustc_interface::queries::Queries::ongoing_codegen
62: rustc_interface::queries::<impl rustc_interface::interface::Compiler>::enter
63: rustc_span::with_source_map
64: rustc_interface::interface::create_compiler_and_run
65: scoped_tls::ScopedKey<T>::set
note: Some details are omitted, run with `RUST_BACKTRACE=full` for a verbose backtrace.
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.53.0-nightly (4fdac23f3 2021-03-31) running on x86_64-unknown-linux-gnu
note: compiler flags: -Z dep-info-omit-d-target -Z allow-features= -Z panic_abort_tests -C link-args=--Map=./exe.unstripped/brightness_manager.map -C linker=/b/s/w/ir/x/w/fuchsia/prebuilt/third_party/clang/linux-x64/bin/lld -C link-arg=--sysroot=gen/zircon/public/sysroot/cpp -C link-arg=-L/b/s/w/ir/x/w/fuchsia/prebuilt/third_party/clang/linux-x64/lib/clang/13.0.0/x86_64-fuchsia/lib -C link-arg=--pack-dyn-relocs=relr -C link-arg=-dynamic-linker=ld.so.1 -C link-arg=--icf=all -C force-frame-pointers -C opt-level=0 -C debuginfo=2 -C link-args=-zstack-size=0x200000 -C panic=abort -C force-unwind-tables=yes -C prefer-dynamic -C link-arg=obj/sdk/lib/syslog/cpp/cpp.log_settings.cc.o -C link-arg=obj/sdk/lib/syslog/cpp/cpp.macros.cc.o -C link-arg=obj/out/not-default/fidling/gen/sdk/fidl/fuchsia.diagnostics.stream/fuchsia.diagnostics.stream/fuchsia/diagnostics/stream/cpp/fuchsia.diagnostics.stream_hlcpp.fidl.cc.o -C link-arg=obj/out/not-default/fidling/gen/sdk/fidl/fuchsia.diagnostics.stream/fuchsia.diagnostics.stream_tables.fuchsia.diagnostics.stream.fidl.tables.c.o -C link-arg=obj/out/not-default/fidling/gen/sdk/fidl/fuchsia.diagnostics/fuchsia.diagnostics/fuchsia/diagnostics/cpp/fuchsia.diagnostics_hlcpp.fidl.cc.o -C link-arg=obj/out/not-default/fidling/gen/sdk/fidl/fuchsia.diagnostics/fuchsia.diagnostics_tables.fuchsia.diagnostics.fidl.tables.c.o -C link-arg=obj/out/not-default/fidling/gen/sdk/fidl/fuchsia.mem/fuchsia.mem/fuchsia/mem/cpp/fuchsia.mem_hlcpp.fidl.cc.o -C link-arg=obj/out/not-default/fidling/gen/sdk/fidl/fuchsia.mem/fuchsia.mem_tables.fuchsia.mem.fidl.tables.c.o -C link-arg=obj/out/not-default/fidling/gen/zircon/vdso/zx/zx/zx/cpp/zx_hlcpp.fidl.cc.o -C link-arg=obj/out/not-default/fidling/gen/zircon/vdso/zx/zx_tables.zx.fidl.tables.c.o -C link-arg=obj/sdk/lib/fidl/cpp/internal/cpp.message_handler.cc.o -C link-arg=obj/sdk/lib/fidl/cpp/internal/cpp.message_reader.cc.o -C link-arg=obj/sdk/lib/fidl/cpp/internal/cpp.pending_response.cc.o -C link-arg=obj/sdk/lib/fidl/cpp/internal/cpp.proxy.cc.o -C link-arg=obj/sdk/lib/fidl/cpp/internal/cpp.proxy_controller.cc.o -C link-arg=obj/sdk/lib/fidl/cpp/internal/cpp.stub.cc.o -C link-arg=obj/sdk/lib/fidl/cpp/internal/cpp.stub_controller.cc.o -C link-arg=obj/sdk/lib/fidl/cpp/internal/cpp.weak_stub_controller.cc.o -C link-arg=obj/sdk/lib/fidl/cpp/internal/cpp_sync.logging.cc.o -C link-arg=obj/sdk/lib/fidl/cpp/internal/cpp_sync.message_sender.cc.o -C link-arg=obj/sdk/lib/fidl/cpp/internal/cpp_sync.synchronous_proxy.cc.o -C link-arg=obj/sdk/lib/fidl/cpp/cpp_base.builder.cc.o -C link-arg=obj/sdk/lib/fidl/cpp/cpp_base.clone.cc.o -C link-arg=obj/sdk/lib/fidl/cpp/cpp_base.decoder.cc.o -C link-arg=obj/sdk/lib/fidl/cpp/cpp_base.encoder.cc.o -C link-arg=obj/sdk/lib/fidl/cpp/cpp_base.message.cc.o -C link-arg=obj/sdk/lib/fidl/cpp/cpp_base.message_buffer.cc.o -C link-arg=obj/sdk/lib/fidl/cpp/cpp_base.message_builder.cc.o -C link-arg=obj/out/not-default/fidling/gen/sdk/fidl/fuchsia.logger/fuchsia.logger/fuchsia/logger/cpp/fuchsia.logger_hlcpp.fidl.cc.o -C link-arg=obj/out/not-default/fidling/gen/sdk/fidl/fuchsia.logger/fuchsia.logger_tables.fuchsia.logger.fidl.tables.c.o -C link-arg=obj/sdk/lib/syslog/streams/cpp/streams-encoder.encode.cc.o -C link-arg=user.libc_x64/obj/zircon/system/ulib/c/crt1.Scrt1.cc.o -C link-arg=obj/sdk/lib/syslog/cpp/libbackend_fuchsia_lib_rust.a -C link-arg=x64-shared/lib.unstripped/libbackend_fuchsia_globals.so -C link-arg=obj/sdk/lib/fit/libfit.a -C link-arg=obj/sdk/lib/stdcompat/libstdcompat.a -C link-arg=obj/zircon/system/ulib/fidl/libfidl_base.a -C link-arg=obj/sdk/lib/fit-promise/libfit-promise.a -C link-arg=obj/zircon/system/ulib/fidl/libfidl.a -C link-arg=obj/zircon/system/ulib/zx/libzx.a -C link-arg=obj/zircon/system/ulib/async/libasync.a -C link-arg=x64-shared/lib.unstripped/libasync-default.so -C link-arg=x64-shared/lib.unstripped/libfdio.so -C link-arg=x64-shared/lib.unstripped/libsyslog.so -C link-arg=user.libc_x64/libc.so.debug -C link-arg=libzircon.so --crate-type bin
query stack during panic:
#0 [optimized_mir] optimizing MIR for `main::func::{closure#0}`
#1 [layout_raw] computing layout of `[static generator@../../src/ui/bin/brightness_manager/src/main.rs:154:10: 154:14 for<'r, 's, 't0, 't1, 't2, 't3, 't4, 't5> {std::future::ResumeTy, fuchsia_component::server::ServiceFs<fuchsia_component::server::ServiceObjLocal<'r, fidl_fuchsia_ui_brightness::ControlRequestStream>>, std::future::from_generator::GenFuture<[static generator@../../src/ui/bin/brightness_manager/src/backlight.rs:30:52: 34:6 {}]>, (), backlight::Backlight, std::sync::Arc<futures::lock::Mutex<backlight::Backlight>>, std::future::from_generator::GenFuture<[static generator@../../src/ui/bin/brightness_manager/src/sensor.rs:97:34: 106:6 {std::future::ResumeTy, std::future::from_generator::GenFuture<[static generator@../../src/ui/bin/brightness_manager/src/sensor.rs:32:54: 50:2 for<'t6, 't7, 't8> {std::future::ResumeTy, &'t6 str, &'t7 std::path::Path, std::fs::ReadDir, std::result::Result<std::fs::DirEntry, std::io::Error>, std::fs::DirEntry, fidl_fuchsia_hardware_input::DeviceProxy, &'t8 fidl_fuchsia_hardware_input::DeviceProxy, fidl::client::QueryResponseFut<std::vec::Vec<u8>>, ()}]>, ()}]>, sensor::Sensor, std::sync::Arc<futures::lock::Mutex<sensor::Sensor>>, sender_channel::SenderChannel<f32>, std::sync::Arc<futures::lock::Mutex<sender_channel::SenderChannel<f32>>>, sender_channel::SenderChannel<bool>, std::sync::Arc<futures::lock::Mutex<sender_channel::SenderChannel<bool>>>, std::sync::Arc<futures::lock::Mutex<(dyn sensor::SensorControl + 's)>>, std::sync::Arc<futures::lock::Mutex<(dyn backlight::BacklightControl + 't0)>>, std::future::from_generator::GenFuture<[static generator@../../src/ui/bin/brightness_manager/src/control.rs:161:18: 188:6 for<'t6, 't7, 't8, 't9> {std::future::ResumeTy, std::sync::Arc<futures::lock::Mutex<(dyn sensor::SensorControl + 't6)>>, std::sync::Arc<futures::lock::Mutex<(dyn backlight::BacklightControl + 't7)>>, std::sync::Arc<futures::lock::Mutex<sender_channel::SenderChannel<f32>>>, std::sync::Arc<futures::lock::Mutex<sender_channel::SenderChannel<bool>>>, std::sync::Arc<futures::lock::Mutex<std::option::Option<futures::future::AbortHandle>>>, &'t8 futures::lock::Mutex<control::BrightnessTable>, control::BRIGHTNESS_TABLE, futures::lock::MutexLockFuture<'t9, control::BrightnessTable>, ()}]>, control::Control, std::sync::Arc<futures::lock::Mutex<control::Control>>, fn(fidl_fuchsia_ui_brightness::ControlRequestStream, std::sync::Arc<futures::lock::Mutex<(dyn control::ControlTrait + 't1)>>) -> std::pin::Pin<std::boxed::Box<(dyn futures::Future<Output = std::result::Result<(), anyhow::Error>> + 't2)>>, std::sync::Arc<futures::lock::Mutex<(dyn control::ControlTrait + 't3)>>, impl futures::Future}]`
#2 [layout_raw] computing layout of `std::future::from_generator::GenFuture<[static generator@../../src/ui/bin/brightness_manager/src/main.rs:154:10: 154:14 for<'r, 's, 't0, 't1, 't2, 't3, 't4, 't5> {std::future::ResumeTy, fuchsia_component::server::ServiceFs<fuchsia_component::server::ServiceObjLocal<'r, fidl_fuchsia_ui_brightness::ControlRequestStream>>, std::future::from_generator::GenFuture<[static generator@../../src/ui/bin/brightness_manager/src/backlight.rs:30:52: 34:6 {}]>, (), backlight::Backlight, std::sync::Arc<futures::lock::Mutex<backlight::Backlight>>, std::future::from_generator::GenFuture<[static generator@../../src/ui/bin/brightness_manager/src/sensor.rs:97:34: 106:6 {std::future::ResumeTy, std::future::from_generator::GenFuture<[static generator@../../src/ui/bin/brightness_manager/src/sensor.rs:32:54: 50:2 for<'t6, 't7, 't8> {std::future::ResumeTy, &'t6 str, &'t7 std::path::Path, std::fs::ReadDir, std::result::Result<std::fs::DirEntry, std::io::Error>, std::fs::DirEntry, fidl_fuchsia_hardware_input::DeviceProxy, &'t8 fidl_fuchsia_hardware_input::DeviceProxy, fidl::client::QueryResponseFut<std::vec::Vec<u8>>, ()}]>, ()}]>, sensor::Sensor, std::sync::Arc<futures::lock::Mutex<sensor::Sensor>>, sender_channel::SenderChannel<f32>, std::sync::Arc<futures::lock::Mutex<sender_channel::SenderChannel<f32>>>, sender_channel::SenderChannel<bool>, std::sync::Arc<futures::lock::Mutex<sender_channel::SenderChannel<bool>>>, std::sync::Arc<futures::lock::Mutex<(dyn sensor::SensorControl + 's)>>, std::sync::Arc<futures::lock::Mutex<(dyn backlight::BacklightControl + 't0)>>, std::future::from_generator::GenFuture<[static generator@../../src/ui/bin/brightness_manager/src/control.rs:161:18: 188:6 for<'t6, 't7, 't8, 't9> {std::future::ResumeTy, std::sync::Arc<futures::lock::Mutex<(dyn sensor::SensorControl + 't6)>>, std::sync::Arc<futures::lock::Mutex<(dyn backlight::BacklightControl + 't7)>>, std::sync::Arc<futures::lock::Mutex<sender_channel::SenderChannel<f32>>>, std::sync::Arc<futures::lock::Mutex<sender_channel::SenderChannel<bool>>>, std::sync::Arc<futures::lock::Mutex<std::option::Option<futures::future::AbortHandle>>>, &'t8 futures::lock::Mutex<control::BrightnessTable>, control::BRIGHTNESS_TABLE, futures::lock::MutexLockFuture<'t9, control::BrightnessTable>, ()}]>, control::Control, std::sync::Arc<futures::lock::Mutex<control::Control>>, fn(fidl_fuchsia_ui_brightness::ControlRequestStream, std::sync::Arc<futures::lock::Mutex<(dyn control::ControlTrait + 't1)>>) -> std::pin::Pin<std::boxed::Box<(dyn futures::Future<Output = std::result::Result<(), anyhow::Error>> + 't2)>>, std::sync::Arc<futures::lock::Mutex<(dyn control::ControlTrait + 't3)>>, impl futures::Future}]>`
#3 [optimized_mir] optimizing MIR for `main`
#4 [collect_and_partition_mono_items] collect_and_partition_mono_items
end of query stack
error: aborting due to previous error
Note, line 154 starts a function declared within a proc macro:
#[fasync::run_singlethreaded]
async fn main() -> Result<(), Error> {
cc: @tmandry