|  | // DO NOT EDIT: This file is machine-generated by fidlgen | 
|  | #![warn(clippy::all)] | 
|  | #![allow(unused_parens, unused_variables, unused_mut, unused_imports, unreachable_code)] | 
|  |  | 
|  | pub mod natural { | 
|  |  | 
|  | pub use fidl_next_common_test_handles::natural::*; | 
|  |  | 
|  | #[derive(PartialEq, Debug)] | 
|  | #[repr(C)] | 
|  | pub struct FdfHandles { | 
|  | pub fdf_channel_handle: ::fdf_fidl::DriverChannel, | 
|  |  | 
|  | pub client_end_driver: | 
|  | ::fidl_next::ClientEnd<crate::DriverProtocol, ::fdf_fidl::DriverChannel>, | 
|  |  | 
|  | pub server_end_driver: | 
|  | ::fidl_next::ServerEnd<crate::DriverProtocol, ::fdf_fidl::DriverChannel>, | 
|  | } | 
|  |  | 
|  | unsafe impl<___E> ::fidl_next::Encode<crate::wire::FdfHandles, ___E> for FdfHandles | 
|  | where | 
|  | ___E: ::fidl_next::encoder::InternalHandleEncoder + ?Sized, | 
|  | ___E: ::fidl_next::fuchsia::HandleEncoder, | 
|  | { | 
|  | const COPY_OPTIMIZATION: ::fidl_next::CopyOptimization<Self, crate::wire::FdfHandles> = unsafe { | 
|  | ::fidl_next::CopyOptimization::enable_if( | 
|  | true | 
|  |  | 
|  | && < | 
|  | ::fdf_fidl::DriverChannel as ::fidl_next::Encode<::fdf_fidl::WireDriverChannel, ___E> | 
|  | >::COPY_OPTIMIZATION.is_enabled() | 
|  |  | 
|  | && < | 
|  | ::fidl_next::ClientEnd<crate::DriverProtocol, ::fdf_fidl::DriverChannel> as ::fidl_next::Encode<::fidl_next::ClientEnd<crate::DriverProtocol, ::fdf_fidl::WireDriverChannel>, ___E> | 
|  | >::COPY_OPTIMIZATION.is_enabled() | 
|  |  | 
|  | && < | 
|  | ::fidl_next::ServerEnd<crate::DriverProtocol, ::fdf_fidl::DriverChannel> as ::fidl_next::Encode<::fidl_next::ServerEnd<crate::DriverProtocol, ::fdf_fidl::WireDriverChannel>, ___E> | 
|  | >::COPY_OPTIMIZATION.is_enabled() | 
|  |  | 
|  | ) | 
|  | }; | 
|  |  | 
|  | #[inline] | 
|  | fn encode( | 
|  | self, | 
|  | encoder_: &mut ___E, | 
|  | out_: &mut ::core::mem::MaybeUninit<crate::wire::FdfHandles>, | 
|  | _: (), | 
|  | ) -> ::core::result::Result<(), ::fidl_next::EncodeError> { | 
|  | ::fidl_next::munge! { | 
|  | let crate::wire::FdfHandles { | 
|  | fdf_channel_handle, | 
|  | client_end_driver, | 
|  | server_end_driver, | 
|  |  | 
|  | } = out_; | 
|  | } | 
|  |  | 
|  | ::fidl_next::Encode::encode(self.fdf_channel_handle, encoder_, fdf_channel_handle, ())?; | 
|  |  | 
|  | let mut _field = | 
|  | unsafe { ::fidl_next::Slot::new_unchecked(fdf_channel_handle.as_mut_ptr()) }; | 
|  |  | 
|  | ::fidl_next::Encode::encode(self.client_end_driver, encoder_, client_end_driver, ())?; | 
|  |  | 
|  | let mut _field = | 
|  | unsafe { ::fidl_next::Slot::new_unchecked(client_end_driver.as_mut_ptr()) }; | 
|  |  | 
|  | ::fidl_next::Encode::encode(self.server_end_driver, encoder_, server_end_driver, ())?; | 
|  |  | 
|  | let mut _field = | 
|  | unsafe { ::fidl_next::Slot::new_unchecked(server_end_driver.as_mut_ptr()) }; | 
|  |  | 
|  | Ok(()) | 
|  | } | 
|  | } | 
|  |  | 
|  | unsafe impl<___E> | 
|  | ::fidl_next::EncodeOption<::fidl_next::WireBox<'static, crate::wire::FdfHandles>, ___E> | 
|  | for FdfHandles | 
|  | where | 
|  | ___E: ::fidl_next::Encoder + ?Sized, | 
|  | FdfHandles: ::fidl_next::Encode<crate::wire::FdfHandles, ___E>, | 
|  | { | 
|  | #[inline] | 
|  | fn encode_option( | 
|  | this: ::core::option::Option<Self>, | 
|  | encoder: &mut ___E, | 
|  | out: &mut ::core::mem::MaybeUninit< | 
|  | ::fidl_next::WireBox<'static, crate::wire::FdfHandles>, | 
|  | >, | 
|  | _: (), | 
|  | ) -> ::core::result::Result<(), ::fidl_next::EncodeError> { | 
|  | if let Some(inner) = this { | 
|  | ::fidl_next::EncoderExt::encode_next(encoder, inner, ())?; | 
|  | ::fidl_next::WireBox::encode_present(out); | 
|  | } else { | 
|  | ::fidl_next::WireBox::encode_absent(out); | 
|  | } | 
|  |  | 
|  | Ok(()) | 
|  | } | 
|  | } | 
|  |  | 
|  | impl ::fidl_next::FromWire<crate::wire::FdfHandles> for FdfHandles { | 
|  | const COPY_OPTIMIZATION: ::fidl_next::CopyOptimization<crate::wire::FdfHandles, Self> = unsafe { | 
|  | ::fidl_next::CopyOptimization::enable_if( | 
|  | true | 
|  |  | 
|  | && < | 
|  | ::fdf_fidl::DriverChannel as ::fidl_next::FromWire<::fdf_fidl::WireDriverChannel> | 
|  | >::COPY_OPTIMIZATION.is_enabled() | 
|  |  | 
|  | && < | 
|  | ::fidl_next::ClientEnd<crate::DriverProtocol, ::fdf_fidl::DriverChannel> as ::fidl_next::FromWire<::fidl_next::ClientEnd<crate::DriverProtocol, ::fdf_fidl::WireDriverChannel>> | 
|  | >::COPY_OPTIMIZATION.is_enabled() | 
|  |  | 
|  | && < | 
|  | ::fidl_next::ServerEnd<crate::DriverProtocol, ::fdf_fidl::DriverChannel> as ::fidl_next::FromWire<::fidl_next::ServerEnd<crate::DriverProtocol, ::fdf_fidl::WireDriverChannel>> | 
|  | >::COPY_OPTIMIZATION.is_enabled() | 
|  |  | 
|  | ) | 
|  | }; | 
|  |  | 
|  | #[inline] | 
|  | fn from_wire(wire: crate::wire::FdfHandles) -> Self { | 
|  | Self { | 
|  | fdf_channel_handle: ::fidl_next::FromWire::from_wire(wire.fdf_channel_handle), | 
|  |  | 
|  | client_end_driver: ::fidl_next::FromWire::from_wire(wire.client_end_driver), | 
|  |  | 
|  | server_end_driver: ::fidl_next::FromWire::from_wire(wire.server_end_driver), | 
|  | } | 
|  | } | 
|  | } | 
|  |  | 
|  | pub type AliasedPlainHandle = ::fidl_next::fuchsia::zx::Handle; | 
|  |  | 
|  | pub type AliasedSubtypeHandle = ::fidl_next::fuchsia::zx::Vmo; | 
|  |  | 
|  | pub type AliasedRightsHandle = ::fidl_next::fuchsia::zx::Vmo; | 
|  |  | 
|  | #[derive(PartialEq, Debug)] | 
|  | #[repr(C)] | 
|  | pub struct Handles { | 
|  | pub plain_handle: ::fidl_next::fuchsia::zx::Handle, | 
|  |  | 
|  | pub bti_handle: ::fidl_next::fuchsia::zx::Bti, | 
|  |  | 
|  | pub channel_handle: ::fidl_next::fuchsia::zx::Channel, | 
|  |  | 
|  | pub clock_handle: ::fidl_next::fuchsia::zx::Clock, | 
|  |  | 
|  | pub debuglog_handle: ::fidl_next::fuchsia::zx::DebugLog, | 
|  |  | 
|  | pub event_handle: ::fidl_next::fuchsia::zx::Event, | 
|  |  | 
|  | pub eventpair_handle: ::fidl_next::fuchsia::zx::EventPair, | 
|  |  | 
|  | pub exception_handle: ::fidl_next::fuchsia::zx::Exception, | 
|  |  | 
|  | pub fifo_handle: ::fidl_next::fuchsia::zx::Fifo, | 
|  |  | 
|  | pub guest_handle: ::fidl_next::fuchsia::zx::Guest, | 
|  |  | 
|  | pub interrupt_handle: ::fidl_next::fuchsia::zx::Interrupt, | 
|  |  | 
|  | pub iob_handle: ::fidl_next::fuchsia::zx::Iob, | 
|  |  | 
|  | pub iommu_handle: ::fidl_next::fuchsia::zx::Iommu, | 
|  |  | 
|  | pub job_handle: ::fidl_next::fuchsia::zx::Job, | 
|  |  | 
|  | pub msi_handle: ::fidl_next::fuchsia::zx::Handle, | 
|  |  | 
|  | pub pager_handle: ::fidl_next::fuchsia::zx::Pager, | 
|  |  | 
|  | pub pmt_handle: ::fidl_next::fuchsia::zx::Pmt, | 
|  |  | 
|  | pub port_handle: ::fidl_next::fuchsia::zx::Port, | 
|  |  | 
|  | pub process_handle: ::fidl_next::fuchsia::zx::Process, | 
|  |  | 
|  | pub profile_handle: ::fidl_next::fuchsia::zx::Profile, | 
|  |  | 
|  | pub resource_handle: ::fidl_next::fuchsia::zx::Resource, | 
|  |  | 
|  | pub socket_handle: ::fidl_next::fuchsia::zx::Socket, | 
|  |  | 
|  | pub stream_handle: ::fidl_next::fuchsia::zx::Stream, | 
|  |  | 
|  | pub suspendtoken_handle: ::fidl_next::fuchsia::zx::Handle, | 
|  |  | 
|  | pub thread_handle: ::fidl_next::fuchsia::zx::Thread, | 
|  |  | 
|  | pub timer_handle: ::fidl_next::fuchsia::zx::Timer, | 
|  |  | 
|  | pub vcpu_handle: ::fidl_next::fuchsia::zx::Vcpu, | 
|  |  | 
|  | pub vmar_handle: ::fidl_next::fuchsia::zx::Vmar, | 
|  |  | 
|  | pub vmo_handle: ::fidl_next::fuchsia::zx::Vmo, | 
|  |  | 
|  | pub rights_handle: ::fidl_next::fuchsia::zx::Vmo, | 
|  |  | 
|  | pub aliased_plain_handle_field: ::fidl_next::fuchsia::zx::Handle, | 
|  |  | 
|  | pub aliased_subtype_handle_field: ::fidl_next::fuchsia::zx::Vmo, | 
|  |  | 
|  | pub aliased_rights_handle_field: ::fidl_next::fuchsia::zx::Vmo, | 
|  |  | 
|  | pub some_protocol: | 
|  | ::fidl_next::ClientEnd<crate::SomeProtocol, ::fidl_next::fuchsia::zx::Channel>, | 
|  |  | 
|  | pub request_some_protocol: | 
|  | ::fidl_next::ServerEnd<crate::SomeProtocol, ::fidl_next::fuchsia::zx::Channel>, | 
|  | } | 
|  |  | 
|  | unsafe impl<___E> ::fidl_next::Encode<crate::wire::Handles, ___E> for Handles | 
|  | where | 
|  | ___E: ::fidl_next::encoder::InternalHandleEncoder + ?Sized, | 
|  | ___E: ::fidl_next::fuchsia::HandleEncoder, | 
|  | { | 
|  | const COPY_OPTIMIZATION: ::fidl_next::CopyOptimization<Self, crate::wire::Handles> = unsafe { | 
|  | ::fidl_next::CopyOptimization::enable_if( | 
|  | true && <::fidl_next::fuchsia::zx::Handle as ::fidl_next::Encode< | 
|  | ::fidl_next::fuchsia::WireHandle, | 
|  | ___E, | 
|  | >>::COPY_OPTIMIZATION | 
|  | .is_enabled() | 
|  | && <::fidl_next::fuchsia::zx::Bti as ::fidl_next::Encode< | 
|  | ::fidl_next::fuchsia::WireBti, | 
|  | ___E, | 
|  | >>::COPY_OPTIMIZATION | 
|  | .is_enabled() | 
|  | && <::fidl_next::fuchsia::zx::Channel as ::fidl_next::Encode< | 
|  | ::fidl_next::fuchsia::WireChannel, | 
|  | ___E, | 
|  | >>::COPY_OPTIMIZATION | 
|  | .is_enabled() | 
|  | && <::fidl_next::fuchsia::zx::Clock as ::fidl_next::Encode< | 
|  | ::fidl_next::fuchsia::WireClock, | 
|  | ___E, | 
|  | >>::COPY_OPTIMIZATION | 
|  | .is_enabled() | 
|  | && <::fidl_next::fuchsia::zx::DebugLog as ::fidl_next::Encode< | 
|  | ::fidl_next::fuchsia::WireDebugLog, | 
|  | ___E, | 
|  | >>::COPY_OPTIMIZATION | 
|  | .is_enabled() | 
|  | && <::fidl_next::fuchsia::zx::Event as ::fidl_next::Encode< | 
|  | ::fidl_next::fuchsia::WireEvent, | 
|  | ___E, | 
|  | >>::COPY_OPTIMIZATION | 
|  | .is_enabled() | 
|  | && <::fidl_next::fuchsia::zx::EventPair as ::fidl_next::Encode< | 
|  | ::fidl_next::fuchsia::WireEventPair, | 
|  | ___E, | 
|  | >>::COPY_OPTIMIZATION | 
|  | .is_enabled() | 
|  | && <::fidl_next::fuchsia::zx::Exception as ::fidl_next::Encode< | 
|  | ::fidl_next::fuchsia::WireException, | 
|  | ___E, | 
|  | >>::COPY_OPTIMIZATION | 
|  | .is_enabled() | 
|  | && <::fidl_next::fuchsia::zx::Fifo as ::fidl_next::Encode< | 
|  | ::fidl_next::fuchsia::WireFifo, | 
|  | ___E, | 
|  | >>::COPY_OPTIMIZATION | 
|  | .is_enabled() | 
|  | && <::fidl_next::fuchsia::zx::Guest as ::fidl_next::Encode< | 
|  | ::fidl_next::fuchsia::WireGuest, | 
|  | ___E, | 
|  | >>::COPY_OPTIMIZATION | 
|  | .is_enabled() | 
|  | && <::fidl_next::fuchsia::zx::Interrupt as ::fidl_next::Encode< | 
|  | ::fidl_next::fuchsia::WireInterrupt, | 
|  | ___E, | 
|  | >>::COPY_OPTIMIZATION | 
|  | .is_enabled() | 
|  | && <::fidl_next::fuchsia::zx::Iob as ::fidl_next::Encode< | 
|  | ::fidl_next::fuchsia::WireIob, | 
|  | ___E, | 
|  | >>::COPY_OPTIMIZATION | 
|  | .is_enabled() | 
|  | && <::fidl_next::fuchsia::zx::Iommu as ::fidl_next::Encode< | 
|  | ::fidl_next::fuchsia::WireIommu, | 
|  | ___E, | 
|  | >>::COPY_OPTIMIZATION | 
|  | .is_enabled() | 
|  | && <::fidl_next::fuchsia::zx::Job as ::fidl_next::Encode< | 
|  | ::fidl_next::fuchsia::WireJob, | 
|  | ___E, | 
|  | >>::COPY_OPTIMIZATION | 
|  | .is_enabled() | 
|  | && <::fidl_next::fuchsia::zx::Handle as ::fidl_next::Encode< | 
|  | ::fidl_next::fuchsia::WireHandle, | 
|  | ___E, | 
|  | >>::COPY_OPTIMIZATION | 
|  | .is_enabled() | 
|  | && <::fidl_next::fuchsia::zx::Pager as ::fidl_next::Encode< | 
|  | ::fidl_next::fuchsia::WirePager, | 
|  | ___E, | 
|  | >>::COPY_OPTIMIZATION | 
|  | .is_enabled() | 
|  | && <::fidl_next::fuchsia::zx::Pmt as ::fidl_next::Encode< | 
|  | ::fidl_next::fuchsia::WirePmt, | 
|  | ___E, | 
|  | >>::COPY_OPTIMIZATION | 
|  | .is_enabled() | 
|  | && <::fidl_next::fuchsia::zx::Port as ::fidl_next::Encode< | 
|  | ::fidl_next::fuchsia::WirePort, | 
|  | ___E, | 
|  | >>::COPY_OPTIMIZATION | 
|  | .is_enabled() | 
|  | && <::fidl_next::fuchsia::zx::Process as ::fidl_next::Encode< | 
|  | ::fidl_next::fuchsia::WireProcess, | 
|  | ___E, | 
|  | >>::COPY_OPTIMIZATION | 
|  | .is_enabled() | 
|  | && <::fidl_next::fuchsia::zx::Profile as ::fidl_next::Encode< | 
|  | ::fidl_next::fuchsia::WireProfile, | 
|  | ___E, | 
|  | >>::COPY_OPTIMIZATION | 
|  | .is_enabled() | 
|  | && <::fidl_next::fuchsia::zx::Resource as ::fidl_next::Encode< | 
|  | ::fidl_next::fuchsia::WireResource, | 
|  | ___E, | 
|  | >>::COPY_OPTIMIZATION | 
|  | .is_enabled() | 
|  | && <::fidl_next::fuchsia::zx::Socket as ::fidl_next::Encode< | 
|  | ::fidl_next::fuchsia::WireSocket, | 
|  | ___E, | 
|  | >>::COPY_OPTIMIZATION | 
|  | .is_enabled() | 
|  | && <::fidl_next::fuchsia::zx::Stream as ::fidl_next::Encode< | 
|  | ::fidl_next::fuchsia::WireStream, | 
|  | ___E, | 
|  | >>::COPY_OPTIMIZATION | 
|  | .is_enabled() | 
|  | && <::fidl_next::fuchsia::zx::Handle as ::fidl_next::Encode< | 
|  | ::fidl_next::fuchsia::WireHandle, | 
|  | ___E, | 
|  | >>::COPY_OPTIMIZATION | 
|  | .is_enabled() | 
|  | && <::fidl_next::fuchsia::zx::Thread as ::fidl_next::Encode< | 
|  | ::fidl_next::fuchsia::WireThread, | 
|  | ___E, | 
|  | >>::COPY_OPTIMIZATION | 
|  | .is_enabled() | 
|  | && <::fidl_next::fuchsia::zx::Timer as ::fidl_next::Encode< | 
|  | ::fidl_next::fuchsia::WireTimer, | 
|  | ___E, | 
|  | >>::COPY_OPTIMIZATION | 
|  | .is_enabled() | 
|  | && <::fidl_next::fuchsia::zx::Vcpu as ::fidl_next::Encode< | 
|  | ::fidl_next::fuchsia::WireVcpu, | 
|  | ___E, | 
|  | >>::COPY_OPTIMIZATION | 
|  | .is_enabled() | 
|  | && <::fidl_next::fuchsia::zx::Vmar as ::fidl_next::Encode< | 
|  | ::fidl_next::fuchsia::WireVmar, | 
|  | ___E, | 
|  | >>::COPY_OPTIMIZATION | 
|  | .is_enabled() | 
|  | && <::fidl_next::fuchsia::zx::Vmo as ::fidl_next::Encode< | 
|  | ::fidl_next::fuchsia::WireVmo, | 
|  | ___E, | 
|  | >>::COPY_OPTIMIZATION | 
|  | .is_enabled() | 
|  | && <::fidl_next::fuchsia::zx::Vmo as ::fidl_next::Encode< | 
|  | ::fidl_next::fuchsia::WireVmo, | 
|  | ___E, | 
|  | >>::COPY_OPTIMIZATION | 
|  | .is_enabled() | 
|  | && <::fidl_next::fuchsia::zx::Handle as ::fidl_next::Encode< | 
|  | ::fidl_next::fuchsia::WireHandle, | 
|  | ___E, | 
|  | >>::COPY_OPTIMIZATION | 
|  | .is_enabled() | 
|  | && <::fidl_next::fuchsia::zx::Vmo as ::fidl_next::Encode< | 
|  | ::fidl_next::fuchsia::WireVmo, | 
|  | ___E, | 
|  | >>::COPY_OPTIMIZATION | 
|  | .is_enabled() | 
|  | && <::fidl_next::fuchsia::zx::Vmo as ::fidl_next::Encode< | 
|  | ::fidl_next::fuchsia::WireVmo, | 
|  | ___E, | 
|  | >>::COPY_OPTIMIZATION | 
|  | .is_enabled() | 
|  | && <::fidl_next::ClientEnd< | 
|  | crate::SomeProtocol, | 
|  | ::fidl_next::fuchsia::zx::Channel, | 
|  | > as ::fidl_next::Encode< | 
|  | ::fidl_next::ClientEnd< | 
|  | crate::SomeProtocol, | 
|  | ::fidl_next::fuchsia::WireChannel, | 
|  | >, | 
|  | ___E, | 
|  | >>::COPY_OPTIMIZATION | 
|  | .is_enabled() | 
|  | && <::fidl_next::ServerEnd< | 
|  | crate::SomeProtocol, | 
|  | ::fidl_next::fuchsia::zx::Channel, | 
|  | > as ::fidl_next::Encode< | 
|  | ::fidl_next::ServerEnd< | 
|  | crate::SomeProtocol, | 
|  | ::fidl_next::fuchsia::WireChannel, | 
|  | >, | 
|  | ___E, | 
|  | >>::COPY_OPTIMIZATION | 
|  | .is_enabled(), | 
|  | ) | 
|  | }; | 
|  |  | 
|  | #[inline] | 
|  | fn encode( | 
|  | self, | 
|  | encoder_: &mut ___E, | 
|  | out_: &mut ::core::mem::MaybeUninit<crate::wire::Handles>, | 
|  | _: (), | 
|  | ) -> ::core::result::Result<(), ::fidl_next::EncodeError> { | 
|  | ::fidl_next::munge! { | 
|  | let crate::wire::Handles { | 
|  | plain_handle, | 
|  | bti_handle, | 
|  | channel_handle, | 
|  | clock_handle, | 
|  | debuglog_handle, | 
|  | event_handle, | 
|  | eventpair_handle, | 
|  | exception_handle, | 
|  | fifo_handle, | 
|  | guest_handle, | 
|  | interrupt_handle, | 
|  | iob_handle, | 
|  | iommu_handle, | 
|  | job_handle, | 
|  | msi_handle, | 
|  | pager_handle, | 
|  | pmt_handle, | 
|  | port_handle, | 
|  | process_handle, | 
|  | profile_handle, | 
|  | resource_handle, | 
|  | socket_handle, | 
|  | stream_handle, | 
|  | suspendtoken_handle, | 
|  | thread_handle, | 
|  | timer_handle, | 
|  | vcpu_handle, | 
|  | vmar_handle, | 
|  | vmo_handle, | 
|  | rights_handle, | 
|  | aliased_plain_handle_field, | 
|  | aliased_subtype_handle_field, | 
|  | aliased_rights_handle_field, | 
|  | some_protocol, | 
|  | request_some_protocol, | 
|  |  | 
|  | } = out_; | 
|  | } | 
|  |  | 
|  | ::fidl_next::Encode::encode(self.plain_handle, encoder_, plain_handle, ())?; | 
|  |  | 
|  | let mut _field = unsafe { ::fidl_next::Slot::new_unchecked(plain_handle.as_mut_ptr()) }; | 
|  |  | 
|  | ::fidl_next::Encode::encode(self.bti_handle, encoder_, bti_handle, ())?; | 
|  |  | 
|  | let mut _field = unsafe { ::fidl_next::Slot::new_unchecked(bti_handle.as_mut_ptr()) }; | 
|  |  | 
|  | ::fidl_next::Encode::encode(self.channel_handle, encoder_, channel_handle, ())?; | 
|  |  | 
|  | let mut _field = | 
|  | unsafe { ::fidl_next::Slot::new_unchecked(channel_handle.as_mut_ptr()) }; | 
|  |  | 
|  | ::fidl_next::Encode::encode(self.clock_handle, encoder_, clock_handle, ())?; | 
|  |  | 
|  | let mut _field = unsafe { ::fidl_next::Slot::new_unchecked(clock_handle.as_mut_ptr()) }; | 
|  |  | 
|  | ::fidl_next::Encode::encode(self.debuglog_handle, encoder_, debuglog_handle, ())?; | 
|  |  | 
|  | let mut _field = | 
|  | unsafe { ::fidl_next::Slot::new_unchecked(debuglog_handle.as_mut_ptr()) }; | 
|  |  | 
|  | ::fidl_next::Encode::encode(self.event_handle, encoder_, event_handle, ())?; | 
|  |  | 
|  | let mut _field = unsafe { ::fidl_next::Slot::new_unchecked(event_handle.as_mut_ptr()) }; | 
|  |  | 
|  | ::fidl_next::Encode::encode(self.eventpair_handle, encoder_, eventpair_handle, ())?; | 
|  |  | 
|  | let mut _field = | 
|  | unsafe { ::fidl_next::Slot::new_unchecked(eventpair_handle.as_mut_ptr()) }; | 
|  |  | 
|  | ::fidl_next::Encode::encode(self.exception_handle, encoder_, exception_handle, ())?; | 
|  |  | 
|  | let mut _field = | 
|  | unsafe { ::fidl_next::Slot::new_unchecked(exception_handle.as_mut_ptr()) }; | 
|  |  | 
|  | ::fidl_next::Encode::encode(self.fifo_handle, encoder_, fifo_handle, ())?; | 
|  |  | 
|  | let mut _field = unsafe { ::fidl_next::Slot::new_unchecked(fifo_handle.as_mut_ptr()) }; | 
|  |  | 
|  | ::fidl_next::Encode::encode(self.guest_handle, encoder_, guest_handle, ())?; | 
|  |  | 
|  | let mut _field = unsafe { ::fidl_next::Slot::new_unchecked(guest_handle.as_mut_ptr()) }; | 
|  |  | 
|  | ::fidl_next::Encode::encode(self.interrupt_handle, encoder_, interrupt_handle, ())?; | 
|  |  | 
|  | let mut _field = | 
|  | unsafe { ::fidl_next::Slot::new_unchecked(interrupt_handle.as_mut_ptr()) }; | 
|  |  | 
|  | ::fidl_next::Encode::encode(self.iob_handle, encoder_, iob_handle, ())?; | 
|  |  | 
|  | let mut _field = unsafe { ::fidl_next::Slot::new_unchecked(iob_handle.as_mut_ptr()) }; | 
|  |  | 
|  | ::fidl_next::Encode::encode(self.iommu_handle, encoder_, iommu_handle, ())?; | 
|  |  | 
|  | let mut _field = unsafe { ::fidl_next::Slot::new_unchecked(iommu_handle.as_mut_ptr()) }; | 
|  |  | 
|  | ::fidl_next::Encode::encode(self.job_handle, encoder_, job_handle, ())?; | 
|  |  | 
|  | let mut _field = unsafe { ::fidl_next::Slot::new_unchecked(job_handle.as_mut_ptr()) }; | 
|  |  | 
|  | ::fidl_next::Encode::encode(self.msi_handle, encoder_, msi_handle, ())?; | 
|  |  | 
|  | let mut _field = unsafe { ::fidl_next::Slot::new_unchecked(msi_handle.as_mut_ptr()) }; | 
|  |  | 
|  | ::fidl_next::Encode::encode(self.pager_handle, encoder_, pager_handle, ())?; | 
|  |  | 
|  | let mut _field = unsafe { ::fidl_next::Slot::new_unchecked(pager_handle.as_mut_ptr()) }; | 
|  |  | 
|  | ::fidl_next::Encode::encode(self.pmt_handle, encoder_, pmt_handle, ())?; | 
|  |  | 
|  | let mut _field = unsafe { ::fidl_next::Slot::new_unchecked(pmt_handle.as_mut_ptr()) }; | 
|  |  | 
|  | ::fidl_next::Encode::encode(self.port_handle, encoder_, port_handle, ())?; | 
|  |  | 
|  | let mut _field = unsafe { ::fidl_next::Slot::new_unchecked(port_handle.as_mut_ptr()) }; | 
|  |  | 
|  | ::fidl_next::Encode::encode(self.process_handle, encoder_, process_handle, ())?; | 
|  |  | 
|  | let mut _field = | 
|  | unsafe { ::fidl_next::Slot::new_unchecked(process_handle.as_mut_ptr()) }; | 
|  |  | 
|  | ::fidl_next::Encode::encode(self.profile_handle, encoder_, profile_handle, ())?; | 
|  |  | 
|  | let mut _field = | 
|  | unsafe { ::fidl_next::Slot::new_unchecked(profile_handle.as_mut_ptr()) }; | 
|  |  | 
|  | ::fidl_next::Encode::encode(self.resource_handle, encoder_, resource_handle, ())?; | 
|  |  | 
|  | let mut _field = | 
|  | unsafe { ::fidl_next::Slot::new_unchecked(resource_handle.as_mut_ptr()) }; | 
|  |  | 
|  | ::fidl_next::Encode::encode(self.socket_handle, encoder_, socket_handle, ())?; | 
|  |  | 
|  | let mut _field = | 
|  | unsafe { ::fidl_next::Slot::new_unchecked(socket_handle.as_mut_ptr()) }; | 
|  |  | 
|  | ::fidl_next::Encode::encode(self.stream_handle, encoder_, stream_handle, ())?; | 
|  |  | 
|  | let mut _field = | 
|  | unsafe { ::fidl_next::Slot::new_unchecked(stream_handle.as_mut_ptr()) }; | 
|  |  | 
|  | ::fidl_next::Encode::encode( | 
|  | self.suspendtoken_handle, | 
|  | encoder_, | 
|  | suspendtoken_handle, | 
|  | (), | 
|  | )?; | 
|  |  | 
|  | let mut _field = | 
|  | unsafe { ::fidl_next::Slot::new_unchecked(suspendtoken_handle.as_mut_ptr()) }; | 
|  |  | 
|  | ::fidl_next::Encode::encode(self.thread_handle, encoder_, thread_handle, ())?; | 
|  |  | 
|  | let mut _field = | 
|  | unsafe { ::fidl_next::Slot::new_unchecked(thread_handle.as_mut_ptr()) }; | 
|  |  | 
|  | ::fidl_next::Encode::encode(self.timer_handle, encoder_, timer_handle, ())?; | 
|  |  | 
|  | let mut _field = unsafe { ::fidl_next::Slot::new_unchecked(timer_handle.as_mut_ptr()) }; | 
|  |  | 
|  | ::fidl_next::Encode::encode(self.vcpu_handle, encoder_, vcpu_handle, ())?; | 
|  |  | 
|  | let mut _field = unsafe { ::fidl_next::Slot::new_unchecked(vcpu_handle.as_mut_ptr()) }; | 
|  |  | 
|  | ::fidl_next::Encode::encode(self.vmar_handle, encoder_, vmar_handle, ())?; | 
|  |  | 
|  | let mut _field = unsafe { ::fidl_next::Slot::new_unchecked(vmar_handle.as_mut_ptr()) }; | 
|  |  | 
|  | ::fidl_next::Encode::encode(self.vmo_handle, encoder_, vmo_handle, ())?; | 
|  |  | 
|  | let mut _field = unsafe { ::fidl_next::Slot::new_unchecked(vmo_handle.as_mut_ptr()) }; | 
|  |  | 
|  | ::fidl_next::Encode::encode(self.rights_handle, encoder_, rights_handle, ())?; | 
|  |  | 
|  | let mut _field = | 
|  | unsafe { ::fidl_next::Slot::new_unchecked(rights_handle.as_mut_ptr()) }; | 
|  |  | 
|  | ::fidl_next::Encode::encode( | 
|  | self.aliased_plain_handle_field, | 
|  | encoder_, | 
|  | aliased_plain_handle_field, | 
|  | (), | 
|  | )?; | 
|  |  | 
|  | let mut _field = unsafe { | 
|  | ::fidl_next::Slot::new_unchecked(aliased_plain_handle_field.as_mut_ptr()) | 
|  | }; | 
|  |  | 
|  | ::fidl_next::Encode::encode( | 
|  | self.aliased_subtype_handle_field, | 
|  | encoder_, | 
|  | aliased_subtype_handle_field, | 
|  | (), | 
|  | )?; | 
|  |  | 
|  | let mut _field = unsafe { | 
|  | ::fidl_next::Slot::new_unchecked(aliased_subtype_handle_field.as_mut_ptr()) | 
|  | }; | 
|  |  | 
|  | ::fidl_next::Encode::encode( | 
|  | self.aliased_rights_handle_field, | 
|  | encoder_, | 
|  | aliased_rights_handle_field, | 
|  | (), | 
|  | )?; | 
|  |  | 
|  | let mut _field = unsafe { | 
|  | ::fidl_next::Slot::new_unchecked(aliased_rights_handle_field.as_mut_ptr()) | 
|  | }; | 
|  |  | 
|  | ::fidl_next::Encode::encode(self.some_protocol, encoder_, some_protocol, ())?; | 
|  |  | 
|  | let mut _field = | 
|  | unsafe { ::fidl_next::Slot::new_unchecked(some_protocol.as_mut_ptr()) }; | 
|  |  | 
|  | ::fidl_next::Encode::encode( | 
|  | self.request_some_protocol, | 
|  | encoder_, | 
|  | request_some_protocol, | 
|  | (), | 
|  | )?; | 
|  |  | 
|  | let mut _field = | 
|  | unsafe { ::fidl_next::Slot::new_unchecked(request_some_protocol.as_mut_ptr()) }; | 
|  |  | 
|  | Ok(()) | 
|  | } | 
|  | } | 
|  |  | 
|  | unsafe impl<___E> | 
|  | ::fidl_next::EncodeOption<::fidl_next::WireBox<'static, crate::wire::Handles>, ___E> | 
|  | for Handles | 
|  | where | 
|  | ___E: ::fidl_next::Encoder + ?Sized, | 
|  | Handles: ::fidl_next::Encode<crate::wire::Handles, ___E>, | 
|  | { | 
|  | #[inline] | 
|  | fn encode_option( | 
|  | this: ::core::option::Option<Self>, | 
|  | encoder: &mut ___E, | 
|  | out: &mut ::core::mem::MaybeUninit<::fidl_next::WireBox<'static, crate::wire::Handles>>, | 
|  | _: (), | 
|  | ) -> ::core::result::Result<(), ::fidl_next::EncodeError> { | 
|  | if let Some(inner) = this { | 
|  | ::fidl_next::EncoderExt::encode_next(encoder, inner, ())?; | 
|  | ::fidl_next::WireBox::encode_present(out); | 
|  | } else { | 
|  | ::fidl_next::WireBox::encode_absent(out); | 
|  | } | 
|  |  | 
|  | Ok(()) | 
|  | } | 
|  | } | 
|  |  | 
|  | impl ::fidl_next::FromWire<crate::wire::Handles> for Handles { | 
|  | const COPY_OPTIMIZATION: ::fidl_next::CopyOptimization<crate::wire::Handles, Self> = unsafe { | 
|  | ::fidl_next::CopyOptimization::enable_if( | 
|  | true && <::fidl_next::fuchsia::zx::Handle as ::fidl_next::FromWire< | 
|  | ::fidl_next::fuchsia::WireHandle, | 
|  | >>::COPY_OPTIMIZATION | 
|  | .is_enabled() | 
|  | && <::fidl_next::fuchsia::zx::Bti as ::fidl_next::FromWire< | 
|  | ::fidl_next::fuchsia::WireBti, | 
|  | >>::COPY_OPTIMIZATION | 
|  | .is_enabled() | 
|  | && <::fidl_next::fuchsia::zx::Channel as ::fidl_next::FromWire< | 
|  | ::fidl_next::fuchsia::WireChannel, | 
|  | >>::COPY_OPTIMIZATION | 
|  | .is_enabled() | 
|  | && <::fidl_next::fuchsia::zx::Clock as ::fidl_next::FromWire< | 
|  | ::fidl_next::fuchsia::WireClock, | 
|  | >>::COPY_OPTIMIZATION | 
|  | .is_enabled() | 
|  | && <::fidl_next::fuchsia::zx::DebugLog as ::fidl_next::FromWire< | 
|  | ::fidl_next::fuchsia::WireDebugLog, | 
|  | >>::COPY_OPTIMIZATION | 
|  | .is_enabled() | 
|  | && <::fidl_next::fuchsia::zx::Event as ::fidl_next::FromWire< | 
|  | ::fidl_next::fuchsia::WireEvent, | 
|  | >>::COPY_OPTIMIZATION | 
|  | .is_enabled() | 
|  | && <::fidl_next::fuchsia::zx::EventPair as ::fidl_next::FromWire< | 
|  | ::fidl_next::fuchsia::WireEventPair, | 
|  | >>::COPY_OPTIMIZATION | 
|  | .is_enabled() | 
|  | && <::fidl_next::fuchsia::zx::Exception as ::fidl_next::FromWire< | 
|  | ::fidl_next::fuchsia::WireException, | 
|  | >>::COPY_OPTIMIZATION | 
|  | .is_enabled() | 
|  | && <::fidl_next::fuchsia::zx::Fifo as ::fidl_next::FromWire< | 
|  | ::fidl_next::fuchsia::WireFifo, | 
|  | >>::COPY_OPTIMIZATION | 
|  | .is_enabled() | 
|  | && <::fidl_next::fuchsia::zx::Guest as ::fidl_next::FromWire< | 
|  | ::fidl_next::fuchsia::WireGuest, | 
|  | >>::COPY_OPTIMIZATION | 
|  | .is_enabled() | 
|  | && <::fidl_next::fuchsia::zx::Interrupt as ::fidl_next::FromWire< | 
|  | ::fidl_next::fuchsia::WireInterrupt, | 
|  | >>::COPY_OPTIMIZATION | 
|  | .is_enabled() | 
|  | && <::fidl_next::fuchsia::zx::Iob as ::fidl_next::FromWire< | 
|  | ::fidl_next::fuchsia::WireIob, | 
|  | >>::COPY_OPTIMIZATION | 
|  | .is_enabled() | 
|  | && <::fidl_next::fuchsia::zx::Iommu as ::fidl_next::FromWire< | 
|  | ::fidl_next::fuchsia::WireIommu, | 
|  | >>::COPY_OPTIMIZATION | 
|  | .is_enabled() | 
|  | && <::fidl_next::fuchsia::zx::Job as ::fidl_next::FromWire< | 
|  | ::fidl_next::fuchsia::WireJob, | 
|  | >>::COPY_OPTIMIZATION | 
|  | .is_enabled() | 
|  | && <::fidl_next::fuchsia::zx::Handle as ::fidl_next::FromWire< | 
|  | ::fidl_next::fuchsia::WireHandle, | 
|  | >>::COPY_OPTIMIZATION | 
|  | .is_enabled() | 
|  | && <::fidl_next::fuchsia::zx::Pager as ::fidl_next::FromWire< | 
|  | ::fidl_next::fuchsia::WirePager, | 
|  | >>::COPY_OPTIMIZATION | 
|  | .is_enabled() | 
|  | && <::fidl_next::fuchsia::zx::Pmt as ::fidl_next::FromWire< | 
|  | ::fidl_next::fuchsia::WirePmt, | 
|  | >>::COPY_OPTIMIZATION | 
|  | .is_enabled() | 
|  | && <::fidl_next::fuchsia::zx::Port as ::fidl_next::FromWire< | 
|  | ::fidl_next::fuchsia::WirePort, | 
|  | >>::COPY_OPTIMIZATION | 
|  | .is_enabled() | 
|  | && <::fidl_next::fuchsia::zx::Process as ::fidl_next::FromWire< | 
|  | ::fidl_next::fuchsia::WireProcess, | 
|  | >>::COPY_OPTIMIZATION | 
|  | .is_enabled() | 
|  | && <::fidl_next::fuchsia::zx::Profile as ::fidl_next::FromWire< | 
|  | ::fidl_next::fuchsia::WireProfile, | 
|  | >>::COPY_OPTIMIZATION | 
|  | .is_enabled() | 
|  | && <::fidl_next::fuchsia::zx::Resource as ::fidl_next::FromWire< | 
|  | ::fidl_next::fuchsia::WireResource, | 
|  | >>::COPY_OPTIMIZATION | 
|  | .is_enabled() | 
|  | && <::fidl_next::fuchsia::zx::Socket as ::fidl_next::FromWire< | 
|  | ::fidl_next::fuchsia::WireSocket, | 
|  | >>::COPY_OPTIMIZATION | 
|  | .is_enabled() | 
|  | && <::fidl_next::fuchsia::zx::Stream as ::fidl_next::FromWire< | 
|  | ::fidl_next::fuchsia::WireStream, | 
|  | >>::COPY_OPTIMIZATION | 
|  | .is_enabled() | 
|  | && <::fidl_next::fuchsia::zx::Handle as ::fidl_next::FromWire< | 
|  | ::fidl_next::fuchsia::WireHandle, | 
|  | >>::COPY_OPTIMIZATION | 
|  | .is_enabled() | 
|  | && <::fidl_next::fuchsia::zx::Thread as ::fidl_next::FromWire< | 
|  | ::fidl_next::fuchsia::WireThread, | 
|  | >>::COPY_OPTIMIZATION | 
|  | .is_enabled() | 
|  | && <::fidl_next::fuchsia::zx::Timer as ::fidl_next::FromWire< | 
|  | ::fidl_next::fuchsia::WireTimer, | 
|  | >>::COPY_OPTIMIZATION | 
|  | .is_enabled() | 
|  | && <::fidl_next::fuchsia::zx::Vcpu as ::fidl_next::FromWire< | 
|  | ::fidl_next::fuchsia::WireVcpu, | 
|  | >>::COPY_OPTIMIZATION | 
|  | .is_enabled() | 
|  | && <::fidl_next::fuchsia::zx::Vmar as ::fidl_next::FromWire< | 
|  | ::fidl_next::fuchsia::WireVmar, | 
|  | >>::COPY_OPTIMIZATION | 
|  | .is_enabled() | 
|  | && <::fidl_next::fuchsia::zx::Vmo as ::fidl_next::FromWire< | 
|  | ::fidl_next::fuchsia::WireVmo, | 
|  | >>::COPY_OPTIMIZATION | 
|  | .is_enabled() | 
|  | && <::fidl_next::fuchsia::zx::Vmo as ::fidl_next::FromWire< | 
|  | ::fidl_next::fuchsia::WireVmo, | 
|  | >>::COPY_OPTIMIZATION | 
|  | .is_enabled() | 
|  | && <::fidl_next::fuchsia::zx::Handle as ::fidl_next::FromWire< | 
|  | ::fidl_next::fuchsia::WireHandle, | 
|  | >>::COPY_OPTIMIZATION | 
|  | .is_enabled() | 
|  | && <::fidl_next::fuchsia::zx::Vmo as ::fidl_next::FromWire< | 
|  | ::fidl_next::fuchsia::WireVmo, | 
|  | >>::COPY_OPTIMIZATION | 
|  | .is_enabled() | 
|  | && <::fidl_next::fuchsia::zx::Vmo as ::fidl_next::FromWire< | 
|  | ::fidl_next::fuchsia::WireVmo, | 
|  | >>::COPY_OPTIMIZATION | 
|  | .is_enabled() | 
|  | && <::fidl_next::ClientEnd< | 
|  | crate::SomeProtocol, | 
|  | ::fidl_next::fuchsia::zx::Channel, | 
|  | > as ::fidl_next::FromWire< | 
|  | ::fidl_next::ClientEnd< | 
|  | crate::SomeProtocol, | 
|  | ::fidl_next::fuchsia::WireChannel, | 
|  | >, | 
|  | >>::COPY_OPTIMIZATION | 
|  | .is_enabled() | 
|  | && <::fidl_next::ServerEnd< | 
|  | crate::SomeProtocol, | 
|  | ::fidl_next::fuchsia::zx::Channel, | 
|  | > as ::fidl_next::FromWire< | 
|  | ::fidl_next::ServerEnd< | 
|  | crate::SomeProtocol, | 
|  | ::fidl_next::fuchsia::WireChannel, | 
|  | >, | 
|  | >>::COPY_OPTIMIZATION | 
|  | .is_enabled(), | 
|  | ) | 
|  | }; | 
|  |  | 
|  | #[inline] | 
|  | fn from_wire(wire: crate::wire::Handles) -> Self { | 
|  | Self { | 
|  | plain_handle: ::fidl_next::FromWire::from_wire(wire.plain_handle), | 
|  |  | 
|  | bti_handle: ::fidl_next::FromWire::from_wire(wire.bti_handle), | 
|  |  | 
|  | channel_handle: ::fidl_next::FromWire::from_wire(wire.channel_handle), | 
|  |  | 
|  | clock_handle: ::fidl_next::FromWire::from_wire(wire.clock_handle), | 
|  |  | 
|  | debuglog_handle: ::fidl_next::FromWire::from_wire(wire.debuglog_handle), | 
|  |  | 
|  | event_handle: ::fidl_next::FromWire::from_wire(wire.event_handle), | 
|  |  | 
|  | eventpair_handle: ::fidl_next::FromWire::from_wire(wire.eventpair_handle), | 
|  |  | 
|  | exception_handle: ::fidl_next::FromWire::from_wire(wire.exception_handle), | 
|  |  | 
|  | fifo_handle: ::fidl_next::FromWire::from_wire(wire.fifo_handle), | 
|  |  | 
|  | guest_handle: ::fidl_next::FromWire::from_wire(wire.guest_handle), | 
|  |  | 
|  | interrupt_handle: ::fidl_next::FromWire::from_wire(wire.interrupt_handle), | 
|  |  | 
|  | iob_handle: ::fidl_next::FromWire::from_wire(wire.iob_handle), | 
|  |  | 
|  | iommu_handle: ::fidl_next::FromWire::from_wire(wire.iommu_handle), | 
|  |  | 
|  | job_handle: ::fidl_next::FromWire::from_wire(wire.job_handle), | 
|  |  | 
|  | msi_handle: ::fidl_next::FromWire::from_wire(wire.msi_handle), | 
|  |  | 
|  | pager_handle: ::fidl_next::FromWire::from_wire(wire.pager_handle), | 
|  |  | 
|  | pmt_handle: ::fidl_next::FromWire::from_wire(wire.pmt_handle), | 
|  |  | 
|  | port_handle: ::fidl_next::FromWire::from_wire(wire.port_handle), | 
|  |  | 
|  | process_handle: ::fidl_next::FromWire::from_wire(wire.process_handle), | 
|  |  | 
|  | profile_handle: ::fidl_next::FromWire::from_wire(wire.profile_handle), | 
|  |  | 
|  | resource_handle: ::fidl_next::FromWire::from_wire(wire.resource_handle), | 
|  |  | 
|  | socket_handle: ::fidl_next::FromWire::from_wire(wire.socket_handle), | 
|  |  | 
|  | stream_handle: ::fidl_next::FromWire::from_wire(wire.stream_handle), | 
|  |  | 
|  | suspendtoken_handle: ::fidl_next::FromWire::from_wire(wire.suspendtoken_handle), | 
|  |  | 
|  | thread_handle: ::fidl_next::FromWire::from_wire(wire.thread_handle), | 
|  |  | 
|  | timer_handle: ::fidl_next::FromWire::from_wire(wire.timer_handle), | 
|  |  | 
|  | vcpu_handle: ::fidl_next::FromWire::from_wire(wire.vcpu_handle), | 
|  |  | 
|  | vmar_handle: ::fidl_next::FromWire::from_wire(wire.vmar_handle), | 
|  |  | 
|  | vmo_handle: ::fidl_next::FromWire::from_wire(wire.vmo_handle), | 
|  |  | 
|  | rights_handle: ::fidl_next::FromWire::from_wire(wire.rights_handle), | 
|  |  | 
|  | aliased_plain_handle_field: ::fidl_next::FromWire::from_wire( | 
|  | wire.aliased_plain_handle_field, | 
|  | ), | 
|  |  | 
|  | aliased_subtype_handle_field: ::fidl_next::FromWire::from_wire( | 
|  | wire.aliased_subtype_handle_field, | 
|  | ), | 
|  |  | 
|  | aliased_rights_handle_field: ::fidl_next::FromWire::from_wire( | 
|  | wire.aliased_rights_handle_field, | 
|  | ), | 
|  |  | 
|  | some_protocol: ::fidl_next::FromWire::from_wire(wire.some_protocol), | 
|  |  | 
|  | request_some_protocol: ::fidl_next::FromWire::from_wire(wire.request_some_protocol), | 
|  | } | 
|  | } | 
|  | } | 
|  | } | 
|  |  | 
|  | pub mod wire { | 
|  |  | 
|  | pub use fidl_next_common_test_handles::wire::*; | 
|  |  | 
|  | /// The wire type corresponding to [`FdfHandles`]. | 
|  | #[derive(Debug)] | 
|  | #[repr(C)] | 
|  | pub struct FdfHandles { | 
|  | pub fdf_channel_handle: ::fdf_fidl::WireDriverChannel, | 
|  |  | 
|  | pub client_end_driver: | 
|  | ::fidl_next::ClientEnd<crate::DriverProtocol, ::fdf_fidl::WireDriverChannel>, | 
|  |  | 
|  | pub server_end_driver: | 
|  | ::fidl_next::ServerEnd<crate::DriverProtocol, ::fdf_fidl::WireDriverChannel>, | 
|  | } | 
|  |  | 
|  | static_assertions::const_assert_eq!(std::mem::size_of::<FdfHandles>(), 12); | 
|  | static_assertions::const_assert_eq!(std::mem::align_of::<FdfHandles>(), 4); | 
|  |  | 
|  | static_assertions::const_assert_eq!(std::mem::offset_of!(FdfHandles, fdf_channel_handle), 0); | 
|  |  | 
|  | static_assertions::const_assert_eq!(std::mem::offset_of!(FdfHandles, client_end_driver), 4); | 
|  |  | 
|  | static_assertions::const_assert_eq!(std::mem::offset_of!(FdfHandles, server_end_driver), 8); | 
|  |  | 
|  | unsafe impl ::fidl_next::Wire for FdfHandles { | 
|  | type Decoded<'de> = FdfHandles; | 
|  |  | 
|  | #[inline] | 
|  | fn zero_padding(out_: &mut ::core::mem::MaybeUninit<Self>) { | 
|  | ::fidl_next::munge! { | 
|  | let Self { | 
|  |  | 
|  | fdf_channel_handle, | 
|  | client_end_driver, | 
|  | server_end_driver, | 
|  |  | 
|  | } = &mut *out_; | 
|  | } | 
|  |  | 
|  | ::fidl_next::Wire::zero_padding(fdf_channel_handle); | 
|  |  | 
|  | ::fidl_next::Wire::zero_padding(client_end_driver); | 
|  |  | 
|  | ::fidl_next::Wire::zero_padding(server_end_driver); | 
|  | } | 
|  | } | 
|  |  | 
|  | unsafe impl<___D> ::fidl_next::Decode<___D> for FdfHandles | 
|  | where | 
|  | ___D: ::fidl_next::decoder::InternalHandleDecoder + ?Sized, | 
|  | ___D: ::fidl_next::fuchsia::HandleDecoder, | 
|  | { | 
|  | fn decode( | 
|  | slot_: ::fidl_next::Slot<'_, Self>, | 
|  | decoder_: &mut ___D, | 
|  | _: (), | 
|  | ) -> ::core::result::Result<(), ::fidl_next::DecodeError> { | 
|  | ::fidl_next::munge! { | 
|  | let Self { | 
|  |  | 
|  | mut fdf_channel_handle, | 
|  | mut client_end_driver, | 
|  | mut server_end_driver, | 
|  |  | 
|  | } = slot_; | 
|  | } | 
|  |  | 
|  | let _field = fdf_channel_handle.as_mut(); | 
|  |  | 
|  | ::fidl_next::Decode::decode(fdf_channel_handle.as_mut(), decoder_, ())?; | 
|  |  | 
|  | let _field = client_end_driver.as_mut(); | 
|  |  | 
|  | ::fidl_next::Decode::decode(client_end_driver.as_mut(), decoder_, ())?; | 
|  |  | 
|  | let _field = server_end_driver.as_mut(); | 
|  |  | 
|  | ::fidl_next::Decode::decode(server_end_driver.as_mut(), decoder_, ())?; | 
|  |  | 
|  | Ok(()) | 
|  | } | 
|  | } | 
|  |  | 
|  | impl ::fidl_next::IntoNatural for FdfHandles { | 
|  | type Natural = crate::natural::FdfHandles; | 
|  | } | 
|  |  | 
|  | impl ::fidl_next::Unconstrained for FdfHandles {} | 
|  |  | 
|  | /// The wire type corresponding to [`AliasedPlainHandle`](crate::natural::AliasedPlainHandle). | 
|  | pub type AliasedPlainHandle = ::fidl_next::fuchsia::WireHandle; | 
|  |  | 
|  | /// The wire type corresponding to [`AliasedSubtypeHandle`](crate::natural::AliasedSubtypeHandle). | 
|  | pub type AliasedSubtypeHandle = ::fidl_next::fuchsia::WireVmo; | 
|  |  | 
|  | /// The wire type corresponding to [`AliasedRightsHandle`](crate::natural::AliasedRightsHandle). | 
|  | pub type AliasedRightsHandle = ::fidl_next::fuchsia::WireVmo; | 
|  |  | 
|  | /// The wire type corresponding to [`Handles`]. | 
|  | #[derive(Debug)] | 
|  | #[repr(C)] | 
|  | pub struct Handles { | 
|  | pub plain_handle: ::fidl_next::fuchsia::WireHandle, | 
|  |  | 
|  | pub bti_handle: ::fidl_next::fuchsia::WireBti, | 
|  |  | 
|  | pub channel_handle: ::fidl_next::fuchsia::WireChannel, | 
|  |  | 
|  | pub clock_handle: ::fidl_next::fuchsia::WireClock, | 
|  |  | 
|  | pub debuglog_handle: ::fidl_next::fuchsia::WireDebugLog, | 
|  |  | 
|  | pub event_handle: ::fidl_next::fuchsia::WireEvent, | 
|  |  | 
|  | pub eventpair_handle: ::fidl_next::fuchsia::WireEventPair, | 
|  |  | 
|  | pub exception_handle: ::fidl_next::fuchsia::WireException, | 
|  |  | 
|  | pub fifo_handle: ::fidl_next::fuchsia::WireFifo, | 
|  |  | 
|  | pub guest_handle: ::fidl_next::fuchsia::WireGuest, | 
|  |  | 
|  | pub interrupt_handle: ::fidl_next::fuchsia::WireInterrupt, | 
|  |  | 
|  | pub iob_handle: ::fidl_next::fuchsia::WireIob, | 
|  |  | 
|  | pub iommu_handle: ::fidl_next::fuchsia::WireIommu, | 
|  |  | 
|  | pub job_handle: ::fidl_next::fuchsia::WireJob, | 
|  |  | 
|  | pub msi_handle: ::fidl_next::fuchsia::WireHandle, | 
|  |  | 
|  | pub pager_handle: ::fidl_next::fuchsia::WirePager, | 
|  |  | 
|  | pub pmt_handle: ::fidl_next::fuchsia::WirePmt, | 
|  |  | 
|  | pub port_handle: ::fidl_next::fuchsia::WirePort, | 
|  |  | 
|  | pub process_handle: ::fidl_next::fuchsia::WireProcess, | 
|  |  | 
|  | pub profile_handle: ::fidl_next::fuchsia::WireProfile, | 
|  |  | 
|  | pub resource_handle: ::fidl_next::fuchsia::WireResource, | 
|  |  | 
|  | pub socket_handle: ::fidl_next::fuchsia::WireSocket, | 
|  |  | 
|  | pub stream_handle: ::fidl_next::fuchsia::WireStream, | 
|  |  | 
|  | pub suspendtoken_handle: ::fidl_next::fuchsia::WireHandle, | 
|  |  | 
|  | pub thread_handle: ::fidl_next::fuchsia::WireThread, | 
|  |  | 
|  | pub timer_handle: ::fidl_next::fuchsia::WireTimer, | 
|  |  | 
|  | pub vcpu_handle: ::fidl_next::fuchsia::WireVcpu, | 
|  |  | 
|  | pub vmar_handle: ::fidl_next::fuchsia::WireVmar, | 
|  |  | 
|  | pub vmo_handle: ::fidl_next::fuchsia::WireVmo, | 
|  |  | 
|  | pub rights_handle: ::fidl_next::fuchsia::WireVmo, | 
|  |  | 
|  | pub aliased_plain_handle_field: ::fidl_next::fuchsia::WireHandle, | 
|  |  | 
|  | pub aliased_subtype_handle_field: ::fidl_next::fuchsia::WireVmo, | 
|  |  | 
|  | pub aliased_rights_handle_field: ::fidl_next::fuchsia::WireVmo, | 
|  |  | 
|  | pub some_protocol: | 
|  | ::fidl_next::ClientEnd<crate::SomeProtocol, ::fidl_next::fuchsia::WireChannel>, | 
|  |  | 
|  | pub request_some_protocol: | 
|  | ::fidl_next::ServerEnd<crate::SomeProtocol, ::fidl_next::fuchsia::WireChannel>, | 
|  | } | 
|  |  | 
|  | static_assertions::const_assert_eq!(std::mem::size_of::<Handles>(), 140); | 
|  | static_assertions::const_assert_eq!(std::mem::align_of::<Handles>(), 4); | 
|  |  | 
|  | static_assertions::const_assert_eq!(std::mem::offset_of!(Handles, plain_handle), 0); | 
|  |  | 
|  | static_assertions::const_assert_eq!(std::mem::offset_of!(Handles, bti_handle), 4); | 
|  |  | 
|  | static_assertions::const_assert_eq!(std::mem::offset_of!(Handles, channel_handle), 8); | 
|  |  | 
|  | static_assertions::const_assert_eq!(std::mem::offset_of!(Handles, clock_handle), 12); | 
|  |  | 
|  | static_assertions::const_assert_eq!(std::mem::offset_of!(Handles, debuglog_handle), 16); | 
|  |  | 
|  | static_assertions::const_assert_eq!(std::mem::offset_of!(Handles, event_handle), 20); | 
|  |  | 
|  | static_assertions::const_assert_eq!(std::mem::offset_of!(Handles, eventpair_handle), 24); | 
|  |  | 
|  | static_assertions::const_assert_eq!(std::mem::offset_of!(Handles, exception_handle), 28); | 
|  |  | 
|  | static_assertions::const_assert_eq!(std::mem::offset_of!(Handles, fifo_handle), 32); | 
|  |  | 
|  | static_assertions::const_assert_eq!(std::mem::offset_of!(Handles, guest_handle), 36); | 
|  |  | 
|  | static_assertions::const_assert_eq!(std::mem::offset_of!(Handles, interrupt_handle), 40); | 
|  |  | 
|  | static_assertions::const_assert_eq!(std::mem::offset_of!(Handles, iob_handle), 44); | 
|  |  | 
|  | static_assertions::const_assert_eq!(std::mem::offset_of!(Handles, iommu_handle), 48); | 
|  |  | 
|  | static_assertions::const_assert_eq!(std::mem::offset_of!(Handles, job_handle), 52); | 
|  |  | 
|  | static_assertions::const_assert_eq!(std::mem::offset_of!(Handles, msi_handle), 56); | 
|  |  | 
|  | static_assertions::const_assert_eq!(std::mem::offset_of!(Handles, pager_handle), 60); | 
|  |  | 
|  | static_assertions::const_assert_eq!(std::mem::offset_of!(Handles, pmt_handle), 64); | 
|  |  | 
|  | static_assertions::const_assert_eq!(std::mem::offset_of!(Handles, port_handle), 68); | 
|  |  | 
|  | static_assertions::const_assert_eq!(std::mem::offset_of!(Handles, process_handle), 72); | 
|  |  | 
|  | static_assertions::const_assert_eq!(std::mem::offset_of!(Handles, profile_handle), 76); | 
|  |  | 
|  | static_assertions::const_assert_eq!(std::mem::offset_of!(Handles, resource_handle), 80); | 
|  |  | 
|  | static_assertions::const_assert_eq!(std::mem::offset_of!(Handles, socket_handle), 84); | 
|  |  | 
|  | static_assertions::const_assert_eq!(std::mem::offset_of!(Handles, stream_handle), 88); | 
|  |  | 
|  | static_assertions::const_assert_eq!(std::mem::offset_of!(Handles, suspendtoken_handle), 92); | 
|  |  | 
|  | static_assertions::const_assert_eq!(std::mem::offset_of!(Handles, thread_handle), 96); | 
|  |  | 
|  | static_assertions::const_assert_eq!(std::mem::offset_of!(Handles, timer_handle), 100); | 
|  |  | 
|  | static_assertions::const_assert_eq!(std::mem::offset_of!(Handles, vcpu_handle), 104); | 
|  |  | 
|  | static_assertions::const_assert_eq!(std::mem::offset_of!(Handles, vmar_handle), 108); | 
|  |  | 
|  | static_assertions::const_assert_eq!(std::mem::offset_of!(Handles, vmo_handle), 112); | 
|  |  | 
|  | static_assertions::const_assert_eq!(std::mem::offset_of!(Handles, rights_handle), 116); | 
|  |  | 
|  | static_assertions::const_assert_eq!( | 
|  | std::mem::offset_of!(Handles, aliased_plain_handle_field), | 
|  | 120 | 
|  | ); | 
|  |  | 
|  | static_assertions::const_assert_eq!( | 
|  | std::mem::offset_of!(Handles, aliased_subtype_handle_field), | 
|  | 124 | 
|  | ); | 
|  |  | 
|  | static_assertions::const_assert_eq!( | 
|  | std::mem::offset_of!(Handles, aliased_rights_handle_field), | 
|  | 128 | 
|  | ); | 
|  |  | 
|  | static_assertions::const_assert_eq!(std::mem::offset_of!(Handles, some_protocol), 132); | 
|  |  | 
|  | static_assertions::const_assert_eq!(std::mem::offset_of!(Handles, request_some_protocol), 136); | 
|  |  | 
|  | unsafe impl ::fidl_next::Wire for Handles { | 
|  | type Decoded<'de> = Handles; | 
|  |  | 
|  | #[inline] | 
|  | fn zero_padding(out_: &mut ::core::mem::MaybeUninit<Self>) { | 
|  | ::fidl_next::munge! { | 
|  | let Self { | 
|  |  | 
|  | plain_handle, | 
|  | bti_handle, | 
|  | channel_handle, | 
|  | clock_handle, | 
|  | debuglog_handle, | 
|  | event_handle, | 
|  | eventpair_handle, | 
|  | exception_handle, | 
|  | fifo_handle, | 
|  | guest_handle, | 
|  | interrupt_handle, | 
|  | iob_handle, | 
|  | iommu_handle, | 
|  | job_handle, | 
|  | msi_handle, | 
|  | pager_handle, | 
|  | pmt_handle, | 
|  | port_handle, | 
|  | process_handle, | 
|  | profile_handle, | 
|  | resource_handle, | 
|  | socket_handle, | 
|  | stream_handle, | 
|  | suspendtoken_handle, | 
|  | thread_handle, | 
|  | timer_handle, | 
|  | vcpu_handle, | 
|  | vmar_handle, | 
|  | vmo_handle, | 
|  | rights_handle, | 
|  | aliased_plain_handle_field, | 
|  | aliased_subtype_handle_field, | 
|  | aliased_rights_handle_field, | 
|  | some_protocol, | 
|  | request_some_protocol, | 
|  |  | 
|  | } = &mut *out_; | 
|  | } | 
|  |  | 
|  | ::fidl_next::Wire::zero_padding(plain_handle); | 
|  |  | 
|  | ::fidl_next::Wire::zero_padding(bti_handle); | 
|  |  | 
|  | ::fidl_next::Wire::zero_padding(channel_handle); | 
|  |  | 
|  | ::fidl_next::Wire::zero_padding(clock_handle); | 
|  |  | 
|  | ::fidl_next::Wire::zero_padding(debuglog_handle); | 
|  |  | 
|  | ::fidl_next::Wire::zero_padding(event_handle); | 
|  |  | 
|  | ::fidl_next::Wire::zero_padding(eventpair_handle); | 
|  |  | 
|  | ::fidl_next::Wire::zero_padding(exception_handle); | 
|  |  | 
|  | ::fidl_next::Wire::zero_padding(fifo_handle); | 
|  |  | 
|  | ::fidl_next::Wire::zero_padding(guest_handle); | 
|  |  | 
|  | ::fidl_next::Wire::zero_padding(interrupt_handle); | 
|  |  | 
|  | ::fidl_next::Wire::zero_padding(iob_handle); | 
|  |  | 
|  | ::fidl_next::Wire::zero_padding(iommu_handle); | 
|  |  | 
|  | ::fidl_next::Wire::zero_padding(job_handle); | 
|  |  | 
|  | ::fidl_next::Wire::zero_padding(msi_handle); | 
|  |  | 
|  | ::fidl_next::Wire::zero_padding(pager_handle); | 
|  |  | 
|  | ::fidl_next::Wire::zero_padding(pmt_handle); | 
|  |  | 
|  | ::fidl_next::Wire::zero_padding(port_handle); | 
|  |  | 
|  | ::fidl_next::Wire::zero_padding(process_handle); | 
|  |  | 
|  | ::fidl_next::Wire::zero_padding(profile_handle); | 
|  |  | 
|  | ::fidl_next::Wire::zero_padding(resource_handle); | 
|  |  | 
|  | ::fidl_next::Wire::zero_padding(socket_handle); | 
|  |  | 
|  | ::fidl_next::Wire::zero_padding(stream_handle); | 
|  |  | 
|  | ::fidl_next::Wire::zero_padding(suspendtoken_handle); | 
|  |  | 
|  | ::fidl_next::Wire::zero_padding(thread_handle); | 
|  |  | 
|  | ::fidl_next::Wire::zero_padding(timer_handle); | 
|  |  | 
|  | ::fidl_next::Wire::zero_padding(vcpu_handle); | 
|  |  | 
|  | ::fidl_next::Wire::zero_padding(vmar_handle); | 
|  |  | 
|  | ::fidl_next::Wire::zero_padding(vmo_handle); | 
|  |  | 
|  | ::fidl_next::Wire::zero_padding(rights_handle); | 
|  |  | 
|  | ::fidl_next::Wire::zero_padding(aliased_plain_handle_field); | 
|  |  | 
|  | ::fidl_next::Wire::zero_padding(aliased_subtype_handle_field); | 
|  |  | 
|  | ::fidl_next::Wire::zero_padding(aliased_rights_handle_field); | 
|  |  | 
|  | ::fidl_next::Wire::zero_padding(some_protocol); | 
|  |  | 
|  | ::fidl_next::Wire::zero_padding(request_some_protocol); | 
|  | } | 
|  | } | 
|  |  | 
|  | unsafe impl<___D> ::fidl_next::Decode<___D> for Handles | 
|  | where | 
|  | ___D: ::fidl_next::decoder::InternalHandleDecoder + ?Sized, | 
|  | ___D: ::fidl_next::fuchsia::HandleDecoder, | 
|  | { | 
|  | fn decode( | 
|  | slot_: ::fidl_next::Slot<'_, Self>, | 
|  | decoder_: &mut ___D, | 
|  | _: (), | 
|  | ) -> ::core::result::Result<(), ::fidl_next::DecodeError> { | 
|  | ::fidl_next::munge! { | 
|  | let Self { | 
|  |  | 
|  | mut plain_handle, | 
|  | mut bti_handle, | 
|  | mut channel_handle, | 
|  | mut clock_handle, | 
|  | mut debuglog_handle, | 
|  | mut event_handle, | 
|  | mut eventpair_handle, | 
|  | mut exception_handle, | 
|  | mut fifo_handle, | 
|  | mut guest_handle, | 
|  | mut interrupt_handle, | 
|  | mut iob_handle, | 
|  | mut iommu_handle, | 
|  | mut job_handle, | 
|  | mut msi_handle, | 
|  | mut pager_handle, | 
|  | mut pmt_handle, | 
|  | mut port_handle, | 
|  | mut process_handle, | 
|  | mut profile_handle, | 
|  | mut resource_handle, | 
|  | mut socket_handle, | 
|  | mut stream_handle, | 
|  | mut suspendtoken_handle, | 
|  | mut thread_handle, | 
|  | mut timer_handle, | 
|  | mut vcpu_handle, | 
|  | mut vmar_handle, | 
|  | mut vmo_handle, | 
|  | mut rights_handle, | 
|  | mut aliased_plain_handle_field, | 
|  | mut aliased_subtype_handle_field, | 
|  | mut aliased_rights_handle_field, | 
|  | mut some_protocol, | 
|  | mut request_some_protocol, | 
|  |  | 
|  | } = slot_; | 
|  | } | 
|  |  | 
|  | let _field = plain_handle.as_mut(); | 
|  |  | 
|  | ::fidl_next::Decode::decode(plain_handle.as_mut(), decoder_, ())?; | 
|  |  | 
|  | let _field = bti_handle.as_mut(); | 
|  |  | 
|  | ::fidl_next::Decode::decode(bti_handle.as_mut(), decoder_, ())?; | 
|  |  | 
|  | let _field = channel_handle.as_mut(); | 
|  |  | 
|  | ::fidl_next::Decode::decode(channel_handle.as_mut(), decoder_, ())?; | 
|  |  | 
|  | let _field = clock_handle.as_mut(); | 
|  |  | 
|  | ::fidl_next::Decode::decode(clock_handle.as_mut(), decoder_, ())?; | 
|  |  | 
|  | let _field = debuglog_handle.as_mut(); | 
|  |  | 
|  | ::fidl_next::Decode::decode(debuglog_handle.as_mut(), decoder_, ())?; | 
|  |  | 
|  | let _field = event_handle.as_mut(); | 
|  |  | 
|  | ::fidl_next::Decode::decode(event_handle.as_mut(), decoder_, ())?; | 
|  |  | 
|  | let _field = eventpair_handle.as_mut(); | 
|  |  | 
|  | ::fidl_next::Decode::decode(eventpair_handle.as_mut(), decoder_, ())?; | 
|  |  | 
|  | let _field = exception_handle.as_mut(); | 
|  |  | 
|  | ::fidl_next::Decode::decode(exception_handle.as_mut(), decoder_, ())?; | 
|  |  | 
|  | let _field = fifo_handle.as_mut(); | 
|  |  | 
|  | ::fidl_next::Decode::decode(fifo_handle.as_mut(), decoder_, ())?; | 
|  |  | 
|  | let _field = guest_handle.as_mut(); | 
|  |  | 
|  | ::fidl_next::Decode::decode(guest_handle.as_mut(), decoder_, ())?; | 
|  |  | 
|  | let _field = interrupt_handle.as_mut(); | 
|  |  | 
|  | ::fidl_next::Decode::decode(interrupt_handle.as_mut(), decoder_, ())?; | 
|  |  | 
|  | let _field = iob_handle.as_mut(); | 
|  |  | 
|  | ::fidl_next::Decode::decode(iob_handle.as_mut(), decoder_, ())?; | 
|  |  | 
|  | let _field = iommu_handle.as_mut(); | 
|  |  | 
|  | ::fidl_next::Decode::decode(iommu_handle.as_mut(), decoder_, ())?; | 
|  |  | 
|  | let _field = job_handle.as_mut(); | 
|  |  | 
|  | ::fidl_next::Decode::decode(job_handle.as_mut(), decoder_, ())?; | 
|  |  | 
|  | let _field = msi_handle.as_mut(); | 
|  |  | 
|  | ::fidl_next::Decode::decode(msi_handle.as_mut(), decoder_, ())?; | 
|  |  | 
|  | let _field = pager_handle.as_mut(); | 
|  |  | 
|  | ::fidl_next::Decode::decode(pager_handle.as_mut(), decoder_, ())?; | 
|  |  | 
|  | let _field = pmt_handle.as_mut(); | 
|  |  | 
|  | ::fidl_next::Decode::decode(pmt_handle.as_mut(), decoder_, ())?; | 
|  |  | 
|  | let _field = port_handle.as_mut(); | 
|  |  | 
|  | ::fidl_next::Decode::decode(port_handle.as_mut(), decoder_, ())?; | 
|  |  | 
|  | let _field = process_handle.as_mut(); | 
|  |  | 
|  | ::fidl_next::Decode::decode(process_handle.as_mut(), decoder_, ())?; | 
|  |  | 
|  | let _field = profile_handle.as_mut(); | 
|  |  | 
|  | ::fidl_next::Decode::decode(profile_handle.as_mut(), decoder_, ())?; | 
|  |  | 
|  | let _field = resource_handle.as_mut(); | 
|  |  | 
|  | ::fidl_next::Decode::decode(resource_handle.as_mut(), decoder_, ())?; | 
|  |  | 
|  | let _field = socket_handle.as_mut(); | 
|  |  | 
|  | ::fidl_next::Decode::decode(socket_handle.as_mut(), decoder_, ())?; | 
|  |  | 
|  | let _field = stream_handle.as_mut(); | 
|  |  | 
|  | ::fidl_next::Decode::decode(stream_handle.as_mut(), decoder_, ())?; | 
|  |  | 
|  | let _field = suspendtoken_handle.as_mut(); | 
|  |  | 
|  | ::fidl_next::Decode::decode(suspendtoken_handle.as_mut(), decoder_, ())?; | 
|  |  | 
|  | let _field = thread_handle.as_mut(); | 
|  |  | 
|  | ::fidl_next::Decode::decode(thread_handle.as_mut(), decoder_, ())?; | 
|  |  | 
|  | let _field = timer_handle.as_mut(); | 
|  |  | 
|  | ::fidl_next::Decode::decode(timer_handle.as_mut(), decoder_, ())?; | 
|  |  | 
|  | let _field = vcpu_handle.as_mut(); | 
|  |  | 
|  | ::fidl_next::Decode::decode(vcpu_handle.as_mut(), decoder_, ())?; | 
|  |  | 
|  | let _field = vmar_handle.as_mut(); | 
|  |  | 
|  | ::fidl_next::Decode::decode(vmar_handle.as_mut(), decoder_, ())?; | 
|  |  | 
|  | let _field = vmo_handle.as_mut(); | 
|  |  | 
|  | ::fidl_next::Decode::decode(vmo_handle.as_mut(), decoder_, ())?; | 
|  |  | 
|  | let _field = rights_handle.as_mut(); | 
|  |  | 
|  | ::fidl_next::Decode::decode(rights_handle.as_mut(), decoder_, ())?; | 
|  |  | 
|  | let _field = aliased_plain_handle_field.as_mut(); | 
|  |  | 
|  | ::fidl_next::Decode::decode(aliased_plain_handle_field.as_mut(), decoder_, ())?; | 
|  |  | 
|  | let _field = aliased_subtype_handle_field.as_mut(); | 
|  |  | 
|  | ::fidl_next::Decode::decode(aliased_subtype_handle_field.as_mut(), decoder_, ())?; | 
|  |  | 
|  | let _field = aliased_rights_handle_field.as_mut(); | 
|  |  | 
|  | ::fidl_next::Decode::decode(aliased_rights_handle_field.as_mut(), decoder_, ())?; | 
|  |  | 
|  | let _field = some_protocol.as_mut(); | 
|  |  | 
|  | ::fidl_next::Decode::decode(some_protocol.as_mut(), decoder_, ())?; | 
|  |  | 
|  | let _field = request_some_protocol.as_mut(); | 
|  |  | 
|  | ::fidl_next::Decode::decode(request_some_protocol.as_mut(), decoder_, ())?; | 
|  |  | 
|  | Ok(()) | 
|  | } | 
|  | } | 
|  |  | 
|  | impl ::fidl_next::IntoNatural for Handles { | 
|  | type Natural = crate::natural::Handles; | 
|  | } | 
|  |  | 
|  | impl ::fidl_next::Unconstrained for Handles {} | 
|  | } | 
|  |  | 
|  | pub mod wire_optional { | 
|  |  | 
|  | pub use fidl_next_common_test_handles::wire_optional::*; | 
|  | } | 
|  |  | 
|  | pub mod generic { | 
|  |  | 
|  | pub use fidl_next_common_test_handles::generic::*; | 
|  |  | 
|  | pub struct FdfHandles<T0, T1, T2> { | 
|  | pub fdf_channel_handle: T0, | 
|  |  | 
|  | pub client_end_driver: T1, | 
|  |  | 
|  | pub server_end_driver: T2, | 
|  | } | 
|  |  | 
|  | unsafe impl<___E, T0, T1, T2> ::fidl_next::Encode<crate::wire::FdfHandles, ___E> | 
|  | for FdfHandles<T0, T1, T2> | 
|  | where | 
|  | ___E: ::fidl_next::encoder::InternalHandleEncoder + ?Sized, | 
|  | ___E: ::fidl_next::fuchsia::HandleEncoder, | 
|  | T0: ::fidl_next::Encode<::fdf_fidl::WireDriverChannel, ___E>, | 
|  | T1: ::fidl_next::Encode< | 
|  | ::fidl_next::ClientEnd<crate::DriverProtocol, ::fdf_fidl::WireDriverChannel>, | 
|  | ___E, | 
|  | >, | 
|  | T2: ::fidl_next::Encode< | 
|  | ::fidl_next::ServerEnd<crate::DriverProtocol, ::fdf_fidl::WireDriverChannel>, | 
|  | ___E, | 
|  | >, | 
|  | { | 
|  | #[inline] | 
|  | fn encode( | 
|  | self, | 
|  | encoder_: &mut ___E, | 
|  | out_: &mut ::core::mem::MaybeUninit<crate::wire::FdfHandles>, | 
|  | _: (), | 
|  | ) -> ::core::result::Result<(), ::fidl_next::EncodeError> { | 
|  | ::fidl_next::munge! { | 
|  | let crate::wire::FdfHandles { | 
|  |  | 
|  | fdf_channel_handle, | 
|  | client_end_driver, | 
|  | server_end_driver, | 
|  |  | 
|  | } = out_; | 
|  | } | 
|  |  | 
|  | ::fidl_next::Encode::encode(self.fdf_channel_handle, encoder_, fdf_channel_handle, ())?; | 
|  |  | 
|  | ::fidl_next::Encode::encode(self.client_end_driver, encoder_, client_end_driver, ())?; | 
|  |  | 
|  | ::fidl_next::Encode::encode(self.server_end_driver, encoder_, server_end_driver, ())?; | 
|  |  | 
|  | Ok(()) | 
|  | } | 
|  | } | 
|  |  | 
|  | pub struct Handles< | 
|  | T0, | 
|  | T1, | 
|  | T2, | 
|  | T3, | 
|  | T4, | 
|  | T5, | 
|  | T6, | 
|  | T7, | 
|  | T8, | 
|  | T9, | 
|  | T10, | 
|  | T11, | 
|  | T12, | 
|  | T13, | 
|  | T14, | 
|  | T15, | 
|  | T16, | 
|  | T17, | 
|  | T18, | 
|  | T19, | 
|  | T20, | 
|  | T21, | 
|  | T22, | 
|  | T23, | 
|  | T24, | 
|  | T25, | 
|  | T26, | 
|  | T27, | 
|  | T28, | 
|  | T29, | 
|  | T30, | 
|  | T31, | 
|  | T32, | 
|  | T33, | 
|  | T34, | 
|  | > { | 
|  | pub plain_handle: T0, | 
|  |  | 
|  | pub bti_handle: T1, | 
|  |  | 
|  | pub channel_handle: T2, | 
|  |  | 
|  | pub clock_handle: T3, | 
|  |  | 
|  | pub debuglog_handle: T4, | 
|  |  | 
|  | pub event_handle: T5, | 
|  |  | 
|  | pub eventpair_handle: T6, | 
|  |  | 
|  | pub exception_handle: T7, | 
|  |  | 
|  | pub fifo_handle: T8, | 
|  |  | 
|  | pub guest_handle: T9, | 
|  |  | 
|  | pub interrupt_handle: T10, | 
|  |  | 
|  | pub iob_handle: T11, | 
|  |  | 
|  | pub iommu_handle: T12, | 
|  |  | 
|  | pub job_handle: T13, | 
|  |  | 
|  | pub msi_handle: T14, | 
|  |  | 
|  | pub pager_handle: T15, | 
|  |  | 
|  | pub pmt_handle: T16, | 
|  |  | 
|  | pub port_handle: T17, | 
|  |  | 
|  | pub process_handle: T18, | 
|  |  | 
|  | pub profile_handle: T19, | 
|  |  | 
|  | pub resource_handle: T20, | 
|  |  | 
|  | pub socket_handle: T21, | 
|  |  | 
|  | pub stream_handle: T22, | 
|  |  | 
|  | pub suspendtoken_handle: T23, | 
|  |  | 
|  | pub thread_handle: T24, | 
|  |  | 
|  | pub timer_handle: T25, | 
|  |  | 
|  | pub vcpu_handle: T26, | 
|  |  | 
|  | pub vmar_handle: T27, | 
|  |  | 
|  | pub vmo_handle: T28, | 
|  |  | 
|  | pub rights_handle: T29, | 
|  |  | 
|  | pub aliased_plain_handle_field: T30, | 
|  |  | 
|  | pub aliased_subtype_handle_field: T31, | 
|  |  | 
|  | pub aliased_rights_handle_field: T32, | 
|  |  | 
|  | pub some_protocol: T33, | 
|  |  | 
|  | pub request_some_protocol: T34, | 
|  | } | 
|  |  | 
|  | unsafe impl< | 
|  | ___E, | 
|  | T0, | 
|  | T1, | 
|  | T2, | 
|  | T3, | 
|  | T4, | 
|  | T5, | 
|  | T6, | 
|  | T7, | 
|  | T8, | 
|  | T9, | 
|  | T10, | 
|  | T11, | 
|  | T12, | 
|  | T13, | 
|  | T14, | 
|  | T15, | 
|  | T16, | 
|  | T17, | 
|  | T18, | 
|  | T19, | 
|  | T20, | 
|  | T21, | 
|  | T22, | 
|  | T23, | 
|  | T24, | 
|  | T25, | 
|  | T26, | 
|  | T27, | 
|  | T28, | 
|  | T29, | 
|  | T30, | 
|  | T31, | 
|  | T32, | 
|  | T33, | 
|  | T34, | 
|  | > ::fidl_next::Encode<crate::wire::Handles, ___E> | 
|  | for Handles< | 
|  | T0, | 
|  | T1, | 
|  | T2, | 
|  | T3, | 
|  | T4, | 
|  | T5, | 
|  | T6, | 
|  | T7, | 
|  | T8, | 
|  | T9, | 
|  | T10, | 
|  | T11, | 
|  | T12, | 
|  | T13, | 
|  | T14, | 
|  | T15, | 
|  | T16, | 
|  | T17, | 
|  | T18, | 
|  | T19, | 
|  | T20, | 
|  | T21, | 
|  | T22, | 
|  | T23, | 
|  | T24, | 
|  | T25, | 
|  | T26, | 
|  | T27, | 
|  | T28, | 
|  | T29, | 
|  | T30, | 
|  | T31, | 
|  | T32, | 
|  | T33, | 
|  | T34, | 
|  | > | 
|  | where | 
|  | ___E: ::fidl_next::encoder::InternalHandleEncoder + ?Sized, | 
|  | ___E: ::fidl_next::fuchsia::HandleEncoder, | 
|  | T0: ::fidl_next::Encode<::fidl_next::fuchsia::WireHandle, ___E>, | 
|  | T1: ::fidl_next::Encode<::fidl_next::fuchsia::WireBti, ___E>, | 
|  | T2: ::fidl_next::Encode<::fidl_next::fuchsia::WireChannel, ___E>, | 
|  | T3: ::fidl_next::Encode<::fidl_next::fuchsia::WireClock, ___E>, | 
|  | T4: ::fidl_next::Encode<::fidl_next::fuchsia::WireDebugLog, ___E>, | 
|  | T5: ::fidl_next::Encode<::fidl_next::fuchsia::WireEvent, ___E>, | 
|  | T6: ::fidl_next::Encode<::fidl_next::fuchsia::WireEventPair, ___E>, | 
|  | T7: ::fidl_next::Encode<::fidl_next::fuchsia::WireException, ___E>, | 
|  | T8: ::fidl_next::Encode<::fidl_next::fuchsia::WireFifo, ___E>, | 
|  | T9: ::fidl_next::Encode<::fidl_next::fuchsia::WireGuest, ___E>, | 
|  | T10: ::fidl_next::Encode<::fidl_next::fuchsia::WireInterrupt, ___E>, | 
|  | T11: ::fidl_next::Encode<::fidl_next::fuchsia::WireIob, ___E>, | 
|  | T12: ::fidl_next::Encode<::fidl_next::fuchsia::WireIommu, ___E>, | 
|  | T13: ::fidl_next::Encode<::fidl_next::fuchsia::WireJob, ___E>, | 
|  | T14: ::fidl_next::Encode<::fidl_next::fuchsia::WireHandle, ___E>, | 
|  | T15: ::fidl_next::Encode<::fidl_next::fuchsia::WirePager, ___E>, | 
|  | T16: ::fidl_next::Encode<::fidl_next::fuchsia::WirePmt, ___E>, | 
|  | T17: ::fidl_next::Encode<::fidl_next::fuchsia::WirePort, ___E>, | 
|  | T18: ::fidl_next::Encode<::fidl_next::fuchsia::WireProcess, ___E>, | 
|  | T19: ::fidl_next::Encode<::fidl_next::fuchsia::WireProfile, ___E>, | 
|  | T20: ::fidl_next::Encode<::fidl_next::fuchsia::WireResource, ___E>, | 
|  | T21: ::fidl_next::Encode<::fidl_next::fuchsia::WireSocket, ___E>, | 
|  | T22: ::fidl_next::Encode<::fidl_next::fuchsia::WireStream, ___E>, | 
|  | T23: ::fidl_next::Encode<::fidl_next::fuchsia::WireHandle, ___E>, | 
|  | T24: ::fidl_next::Encode<::fidl_next::fuchsia::WireThread, ___E>, | 
|  | T25: ::fidl_next::Encode<::fidl_next::fuchsia::WireTimer, ___E>, | 
|  | T26: ::fidl_next::Encode<::fidl_next::fuchsia::WireVcpu, ___E>, | 
|  | T27: ::fidl_next::Encode<::fidl_next::fuchsia::WireVmar, ___E>, | 
|  | T28: ::fidl_next::Encode<::fidl_next::fuchsia::WireVmo, ___E>, | 
|  | T29: ::fidl_next::Encode<::fidl_next::fuchsia::WireVmo, ___E>, | 
|  | T30: ::fidl_next::Encode<::fidl_next::fuchsia::WireHandle, ___E>, | 
|  | T31: ::fidl_next::Encode<::fidl_next::fuchsia::WireVmo, ___E>, | 
|  | T32: ::fidl_next::Encode<::fidl_next::fuchsia::WireVmo, ___E>, | 
|  | T33: ::fidl_next::Encode< | 
|  | ::fidl_next::ClientEnd<crate::SomeProtocol, ::fidl_next::fuchsia::WireChannel>, | 
|  | ___E, | 
|  | >, | 
|  | T34: ::fidl_next::Encode< | 
|  | ::fidl_next::ServerEnd<crate::SomeProtocol, ::fidl_next::fuchsia::WireChannel>, | 
|  | ___E, | 
|  | >, | 
|  | { | 
|  | #[inline] | 
|  | fn encode( | 
|  | self, | 
|  | encoder_: &mut ___E, | 
|  | out_: &mut ::core::mem::MaybeUninit<crate::wire::Handles>, | 
|  | _: (), | 
|  | ) -> ::core::result::Result<(), ::fidl_next::EncodeError> { | 
|  | ::fidl_next::munge! { | 
|  | let crate::wire::Handles { | 
|  |  | 
|  | plain_handle, | 
|  | bti_handle, | 
|  | channel_handle, | 
|  | clock_handle, | 
|  | debuglog_handle, | 
|  | event_handle, | 
|  | eventpair_handle, | 
|  | exception_handle, | 
|  | fifo_handle, | 
|  | guest_handle, | 
|  | interrupt_handle, | 
|  | iob_handle, | 
|  | iommu_handle, | 
|  | job_handle, | 
|  | msi_handle, | 
|  | pager_handle, | 
|  | pmt_handle, | 
|  | port_handle, | 
|  | process_handle, | 
|  | profile_handle, | 
|  | resource_handle, | 
|  | socket_handle, | 
|  | stream_handle, | 
|  | suspendtoken_handle, | 
|  | thread_handle, | 
|  | timer_handle, | 
|  | vcpu_handle, | 
|  | vmar_handle, | 
|  | vmo_handle, | 
|  | rights_handle, | 
|  | aliased_plain_handle_field, | 
|  | aliased_subtype_handle_field, | 
|  | aliased_rights_handle_field, | 
|  | some_protocol, | 
|  | request_some_protocol, | 
|  |  | 
|  | } = out_; | 
|  | } | 
|  |  | 
|  | ::fidl_next::Encode::encode(self.plain_handle, encoder_, plain_handle, ())?; | 
|  |  | 
|  | ::fidl_next::Encode::encode(self.bti_handle, encoder_, bti_handle, ())?; | 
|  |  | 
|  | ::fidl_next::Encode::encode(self.channel_handle, encoder_, channel_handle, ())?; | 
|  |  | 
|  | ::fidl_next::Encode::encode(self.clock_handle, encoder_, clock_handle, ())?; | 
|  |  | 
|  | ::fidl_next::Encode::encode(self.debuglog_handle, encoder_, debuglog_handle, ())?; | 
|  |  | 
|  | ::fidl_next::Encode::encode(self.event_handle, encoder_, event_handle, ())?; | 
|  |  | 
|  | ::fidl_next::Encode::encode(self.eventpair_handle, encoder_, eventpair_handle, ())?; | 
|  |  | 
|  | ::fidl_next::Encode::encode(self.exception_handle, encoder_, exception_handle, ())?; | 
|  |  | 
|  | ::fidl_next::Encode::encode(self.fifo_handle, encoder_, fifo_handle, ())?; | 
|  |  | 
|  | ::fidl_next::Encode::encode(self.guest_handle, encoder_, guest_handle, ())?; | 
|  |  | 
|  | ::fidl_next::Encode::encode(self.interrupt_handle, encoder_, interrupt_handle, ())?; | 
|  |  | 
|  | ::fidl_next::Encode::encode(self.iob_handle, encoder_, iob_handle, ())?; | 
|  |  | 
|  | ::fidl_next::Encode::encode(self.iommu_handle, encoder_, iommu_handle, ())?; | 
|  |  | 
|  | ::fidl_next::Encode::encode(self.job_handle, encoder_, job_handle, ())?; | 
|  |  | 
|  | ::fidl_next::Encode::encode(self.msi_handle, encoder_, msi_handle, ())?; | 
|  |  | 
|  | ::fidl_next::Encode::encode(self.pager_handle, encoder_, pager_handle, ())?; | 
|  |  | 
|  | ::fidl_next::Encode::encode(self.pmt_handle, encoder_, pmt_handle, ())?; | 
|  |  | 
|  | ::fidl_next::Encode::encode(self.port_handle, encoder_, port_handle, ())?; | 
|  |  | 
|  | ::fidl_next::Encode::encode(self.process_handle, encoder_, process_handle, ())?; | 
|  |  | 
|  | ::fidl_next::Encode::encode(self.profile_handle, encoder_, profile_handle, ())?; | 
|  |  | 
|  | ::fidl_next::Encode::encode(self.resource_handle, encoder_, resource_handle, ())?; | 
|  |  | 
|  | ::fidl_next::Encode::encode(self.socket_handle, encoder_, socket_handle, ())?; | 
|  |  | 
|  | ::fidl_next::Encode::encode(self.stream_handle, encoder_, stream_handle, ())?; | 
|  |  | 
|  | ::fidl_next::Encode::encode( | 
|  | self.suspendtoken_handle, | 
|  | encoder_, | 
|  | suspendtoken_handle, | 
|  | (), | 
|  | )?; | 
|  |  | 
|  | ::fidl_next::Encode::encode(self.thread_handle, encoder_, thread_handle, ())?; | 
|  |  | 
|  | ::fidl_next::Encode::encode(self.timer_handle, encoder_, timer_handle, ())?; | 
|  |  | 
|  | ::fidl_next::Encode::encode(self.vcpu_handle, encoder_, vcpu_handle, ())?; | 
|  |  | 
|  | ::fidl_next::Encode::encode(self.vmar_handle, encoder_, vmar_handle, ())?; | 
|  |  | 
|  | ::fidl_next::Encode::encode(self.vmo_handle, encoder_, vmo_handle, ())?; | 
|  |  | 
|  | ::fidl_next::Encode::encode(self.rights_handle, encoder_, rights_handle, ())?; | 
|  |  | 
|  | ::fidl_next::Encode::encode( | 
|  | self.aliased_plain_handle_field, | 
|  | encoder_, | 
|  | aliased_plain_handle_field, | 
|  | (), | 
|  | )?; | 
|  |  | 
|  | ::fidl_next::Encode::encode( | 
|  | self.aliased_subtype_handle_field, | 
|  | encoder_, | 
|  | aliased_subtype_handle_field, | 
|  | (), | 
|  | )?; | 
|  |  | 
|  | ::fidl_next::Encode::encode( | 
|  | self.aliased_rights_handle_field, | 
|  | encoder_, | 
|  | aliased_rights_handle_field, | 
|  | (), | 
|  | )?; | 
|  |  | 
|  | ::fidl_next::Encode::encode(self.some_protocol, encoder_, some_protocol, ())?; | 
|  |  | 
|  | ::fidl_next::Encode::encode( | 
|  | self.request_some_protocol, | 
|  | encoder_, | 
|  | request_some_protocol, | 
|  | (), | 
|  | )?; | 
|  |  | 
|  | Ok(()) | 
|  | } | 
|  | } | 
|  | } | 
|  |  | 
|  | pub use self::natural::*; | 
|  |  | 
|  | pub use fidl_next_common_test_handles::*; |