[INFO] fetching crate rsbinder-aidl 0.5.0...
[INFO] testing rsbinder-aidl-0.5.0 against master#0d162b25edd5bf0dba9a22e83b614f1113e90474 for pr-150681
[INFO] extracting crate rsbinder-aidl 0.5.0 into /workspace/builds/worker-6-tc1/source
[INFO] started tweaking crates.io crate rsbinder-aidl 0.5.0
[INFO] removed 0 missing tests
[INFO] finished tweaking crates.io crate rsbinder-aidl 0.5.0
[INFO] tweaked toml for crates.io crate rsbinder-aidl 0.5.0 written to /workspace/builds/worker-6-tc1/source/Cargo.toml
[INFO] validating manifest of crates.io crate rsbinder-aidl 0.5.0 on toolchain 0d162b25edd5bf0dba9a22e83b614f1113e90474
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+0d162b25edd5bf0dba9a22e83b614f1113e90474" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] crate crates.io crate rsbinder-aidl 0.5.0 already has a lockfile, it will not be regenerated
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+0d162b25edd5bf0dba9a22e83b614f1113e90474" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr]     Updating crates.io index
[INFO] [stderr]  Downloading crates ...
[INFO] [stderr]   Downloaded slug v0.1.6
[INFO] [stderr]   Downloaded pest_generator v2.8.4
[INFO] [stderr]   Downloaded globwalk v0.9.1
[INFO] [stderr]   Downloaded chrono-tz-build v0.3.0
[INFO] [stderr]   Downloaded humansize v2.1.3
[INFO] [stderr]   Downloaded pest_derive v2.8.4
[INFO] [stderr]   Downloaded globset v0.4.18
[INFO] [stderr]   Downloaded ignore v0.4.25
[INFO] [stderr]   Downloaded tera v1.20.1
[INFO] [stderr]   Downloaded proc-macro2 v1.0.104
[INFO] [stderr]   Downloaded pest v2.8.4
[INFO] [stderr]   Downloaded serde_json v1.0.148
[INFO] [stderr]   Downloaded pest_meta v2.8.4
[INFO] [stderr]   Downloaded zmij v1.0.2
[INFO] [stderr]   Downloaded chrono-tz v0.9.0
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:845e597a41426bbf2703be69acdb67d10b6de511142d05cba7bbe119c898b2c7" "/opt/rustwide/cargo-home/bin/cargo" "+0d162b25edd5bf0dba9a22e83b614f1113e90474" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] f80543783d1ca6b2175d446d83416a994deb08953b164be379c305bea726d88b
[INFO] running `Command { std: "docker" "start" "-a" "f80543783d1ca6b2175d446d83416a994deb08953b164be379c305bea726d88b", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "f80543783d1ca6b2175d446d83416a994deb08953b164be379c305bea726d88b", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "f80543783d1ca6b2175d446d83416a994deb08953b164be379c305bea726d88b", kill_on_drop: false }`
[INFO] [stdout] f80543783d1ca6b2175d446d83416a994deb08953b164be379c305bea726d88b
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:845e597a41426bbf2703be69acdb67d10b6de511142d05cba7bbe119c898b2c7" "/opt/rustwide/cargo-home/bin/cargo" "+0d162b25edd5bf0dba9a22e83b614f1113e90474" "build" "--frozen" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] e0cbf30bca10292e0fa7ed2930975c510272098bd95fd989a087f86e607e66e9
[INFO] running `Command { std: "docker" "start" "-a" "e0cbf30bca10292e0fa7ed2930975c510272098bd95fd989a087f86e607e66e9", kill_on_drop: false }`
[INFO] [stderr]    Compiling proc-macro2 v1.0.104
[INFO] [stderr]    Compiling aho-corasick v1.1.4
[INFO] [stderr]    Compiling phf_shared v0.11.3
[INFO] [stderr]    Compiling bstr v1.12.1
[INFO] [stderr]    Compiling zmij v1.0.2
[INFO] [stderr]    Compiling pest v2.8.4
[INFO] [stderr]    Compiling parse-zoneinfo v0.3.1
[INFO] [stderr]    Compiling crossbeam-epoch v0.9.18
[INFO] [stderr]    Compiling serde_json v1.0.148
[INFO] [stderr]    Compiling rand_chacha v0.3.1
[INFO] [stderr]    Compiling chrono v0.4.42
[INFO] [stderr]    Compiling deunicode v1.6.2
[INFO] [stderr]    Compiling humansize v2.1.3
[INFO] [stderr]    Compiling convert_case v0.10.0
[INFO] [stderr]    Compiling phf_generator v0.11.3
[INFO] [stderr]    Compiling phf v0.11.3
[INFO] [stderr]    Compiling phf_codegen v0.11.3
[INFO] [stderr]    Compiling slug v0.1.6
[INFO] [stderr]    Compiling rand v0.8.5
[INFO] [stderr]    Compiling crossbeam-deque v0.8.6
[INFO] [stderr]    Compiling chrono-tz-build v0.3.0
[INFO] [stderr]    Compiling chrono-tz v0.9.0
[INFO] [stderr]    Compiling quote v1.0.42
[INFO] [stderr]    Compiling syn v2.0.111
[INFO] [stderr]    Compiling pest_meta v2.8.4
[INFO] [stderr]    Compiling regex-automata v0.4.13
[INFO] [stderr]    Compiling pest_generator v2.8.4
[INFO] [stderr]    Compiling serde_derive v1.0.228
[INFO] [stderr]    Compiling pest_derive v2.8.4
[INFO] [stderr]    Compiling globset v0.4.18
[INFO] [stderr]    Compiling regex v1.12.2
[INFO] [stderr]    Compiling ignore v0.4.25
[INFO] [stderr]    Compiling serde v1.0.228
[INFO] [stderr]    Compiling globwalk v0.9.1
[INFO] [stderr]    Compiling tera v1.20.1
[INFO] [stderr]    Compiling rsbinder-aidl v0.5.0 (/opt/rustwide/workdir)
[INFO] [stderr]     Finished `dev` profile [unoptimized + debuginfo] target(s) in 24.89s
[INFO] running `Command { std: "docker" "inspect" "e0cbf30bca10292e0fa7ed2930975c510272098bd95fd989a087f86e607e66e9", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "e0cbf30bca10292e0fa7ed2930975c510272098bd95fd989a087f86e607e66e9", kill_on_drop: false }`
[INFO] [stdout] e0cbf30bca10292e0fa7ed2930975c510272098bd95fd989a087f86e607e66e9
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:845e597a41426bbf2703be69acdb67d10b6de511142d05cba7bbe119c898b2c7" "/opt/rustwide/cargo-home/bin/cargo" "+0d162b25edd5bf0dba9a22e83b614f1113e90474" "test" "--frozen" "--no-run" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] 2684d1c96072b605be79d880d3bfe0301cabb72855a649c86824dbeb0722f102
[INFO] running `Command { std: "docker" "start" "-a" "2684d1c96072b605be79d880d3bfe0301cabb72855a649c86824dbeb0722f102", kill_on_drop: false }`
[INFO] [stderr]    Compiling rsbinder-aidl v0.5.0 (/opt/rustwide/workdir)
[INFO] [stderr]     Finished `test` profile [unoptimized + debuginfo] target(s) in 5.93s
[INFO] running `Command { std: "docker" "inspect" "2684d1c96072b605be79d880d3bfe0301cabb72855a649c86824dbeb0722f102", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "2684d1c96072b605be79d880d3bfe0301cabb72855a649c86824dbeb0722f102", kill_on_drop: false }`
[INFO] [stdout] 2684d1c96072b605be79d880d3bfe0301cabb72855a649c86824dbeb0722f102
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:845e597a41426bbf2703be69acdb67d10b6de511142d05cba7bbe119c898b2c7" "/opt/rustwide/cargo-home/bin/cargo" "+0d162b25edd5bf0dba9a22e83b614f1113e90474" "test" "--frozen", kill_on_drop: false }`
[INFO] [stdout] ff23e47ec5fdac9441efc934ab48a730b4dcc6eae200a793fccf777fbe03513d
[INFO] running `Command { std: "docker" "start" "-a" "ff23e47ec5fdac9441efc934ab48a730b4dcc6eae200a793fccf777fbe03513d", kill_on_drop: false }`
[INFO] [stderr]     Finished `test` profile [unoptimized + debuginfo] target(s) in 0.12s
[INFO] [stderr]      Running unittests src/lib.rs (/opt/rustwide/target/debug/deps/rsbinder_aidl-31b694e22ae1a542)
[INFO] [stdout] 
[INFO] [stdout] running 10 tests
[INFO] [stdout] test parser::tests::test_namespace_guard ... ok
[INFO] [stdout] test const_expr::tests::test_expression_arithmatic ... ok
[INFO] [stdout] test tests::test_relative_mod ... ok
[INFO] [stdout] test type_generator::tests::test_binder_declaration ... ok
[INFO] [stdout] test type_generator::tests::test_func_call_param ... ok
[INFO] [stdout] test type_generator::tests::test_type_decl_for_func ... ok
[INFO] [stdout] test type_generator::tests::test_type_decl_for_struct ... ok
[INFO] [stdout] test type_generator::tests::test_type_declaration ... ok
[INFO] [stdout] test parser::tests::test_parse_string_expr ... ok
[INFO] [stdout] test parser::tests::test_parse_expression ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 10 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s
[INFO] [stdout] 
[INFO] [stderr]      Running tests/test_aidl.rs (/opt/rustwide/target/debug/deps/test_aidl-2d543fb6fd7d2c34)
[INFO] [stdout] 
[INFO] [stdout] running 0 tests
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s
[INFO] [stdout] 
[INFO] [stderr]      Running tests/test_arrays.rs (/opt/rustwide/target/debug/deps/test_arrays-9f8393c2b935a737)
[INFO] [stdout] 
[INFO] [stdout] running 2 tests
[INFO] [stdout] test test_fixed_size_array ... FAILED
[INFO] [stdout] test test_nullability ... FAILED
[INFO] [stdout] 
[INFO] [stdout] failures:
[INFO] [stdout] 
[INFO] [stdout] ---- test_fixed_size_array stdout ----
[INFO] [stdout] Parcelable variable: VariableDecl { constant: false, annotation_list: [], type: Type { annotation_list: [], non_array_type: NonArrayType { name: "int", generic: None }, array_types: [ArrayType { const_expr: Some(ConstExpr { raw_expr: "", is_calculated: false, value: Byte(2) }) }, ArrayType { const_expr: Some(ConstExpr { raw_expr: "", is_calculated: false, value: Byte(3) }) }] }, identifier: "int2x3", const_expr: Some(ConstExpr { raw_expr: "", is_calculated: true, value: Array([ConstExpr { raw_expr: "", is_calculated: false, value: Array([ConstExpr { raw_expr: "", is_calculated: false, value: Byte(1) }, ConstExpr { raw_expr: "", is_calculated: false, value: Byte(2) }, ConstExpr { raw_expr: "", is_calculated: false, value: Byte(3) }]) }, ConstExpr { raw_expr: "", is_calculated: false, value: Array([ConstExpr { raw_expr: "", is_calculated: false, value: Byte(4) }, ConstExpr { raw_expr: "", is_calculated: false, value: Byte(5) }, ConstExpr { raw_expr: "", is_calculated: false, value: Byte(6) }]) }]) }) }
[INFO] [stdout] Parcelable variable: VariableDecl { constant: false, annotation_list: [], type: Type { annotation_list: [Annotation { annotation: "@nullable", const_expr: None, parameter_list: [] }, Annotation { annotation: "@utf8InCpp", const_expr: None, parameter_list: [] }], non_array_type: NonArrayType { name: "String", generic: None }, array_types: [ArrayType { const_expr: Some(ConstExpr { raw_expr: "", is_calculated: false, value: Byte(2) }) }, ArrayType { const_expr: Some(ConstExpr { raw_expr: "", is_calculated: false, value: Byte(2) }) }] }, identifier: "stringNullableMatrix", const_expr: Some(ConstExpr { raw_expr: "", is_calculated: true, value: Array([ConstExpr { raw_expr: "", is_calculated: false, value: Array([ConstExpr { raw_expr: "", is_calculated: false, value: String("hello") }, ConstExpr { raw_expr: "", is_calculated: false, value: String("world") }]) }, ConstExpr { raw_expr: "", is_calculated: false, value: Array([ConstExpr { raw_expr: "", is_calculated: false, value: String("Ciao") }, ConstExpr { raw_expr: "", is_calculated: false, value: String("mondo") }]) }]) }) }
[INFO] [stdout] Parcelable variable: VariableDecl { constant: false, annotation_list: [], type: Type { annotation_list: [Annotation { annotation: "@nullable", const_expr: None, parameter_list: [] }], non_array_type: NonArrayType { name: "ByteEnum", generic: None }, array_types: [ArrayType { const_expr: Some(ConstExpr { raw_expr: "", is_calculated: false, value: Byte(2) }) }, ArrayType { const_expr: Some(ConstExpr { raw_expr: "", is_calculated: false, value: Byte(2) }) }] }, identifier: "byteEnumNullableMatrix", const_expr: None }
[INFO] [stdout] Parcelable variable: VariableDecl { constant: false, annotation_list: [], type: Type { annotation_list: [Annotation { annotation: "@nullable", const_expr: None, parameter_list: [] }], non_array_type: NonArrayType { name: "IEmptyInterface", generic: None }, array_types: [ArrayType { const_expr: Some(ConstExpr { raw_expr: "", is_calculated: false, value: Byte(2) }) }, ArrayType { const_expr: Some(ConstExpr { raw_expr: "", is_calculated: false, value: Byte(2) }) }] }, identifier: "interfaceNullableMatrix", const_expr: None }
[INFO] [stdout] Parcelable variable: VariableDecl { constant: false, annotation_list: [], type: Type { annotation_list: [], non_array_type: NonArrayType { name: "int", generic: None }, array_types: [] }, identifier: "value", const_expr: None }
[INFO] [stdout]   pub mod FixedSizeArrayExample {
[INFO] [stdout]       #![allow(non_upper_case_globals, non_snake_case, dead_code)]
[INFO] [stdout]       #[derive(Debug)]
[INFO] [stdout]       pub struct FixedSizeArrayExample {
[INFO] [stdout]           pub r#int2x3: [[i32; 3]; 2],
[INFO] [stdout]           pub r#stringNullableMatrix: Option<[[Option<String>; 2]; 2]>,
[INFO] [stdout]           pub r#byteEnumNullableMatrix: Option<[[ByteEnum::ByteEnum; 2]; 2]>,
[INFO] [stdout]           pub r#interfaceNullableMatrix: Option<[[Option<rsbinder::Strong<dyn IEmptyInterface::IEmptyInterface>>; 2]; 2]>,
[INFO] [stdout]       }
[INFO] [stdout]       impl Default for FixedSizeArrayExample {
[INFO] [stdout]           fn default() -> Self {
[INFO] [stdout]               Self {
[INFO] [stdout]                   r#int2x3: [[1,2,3,],[4,5,6,],],
[INFO] [stdout]                   r#stringNullableMatrix: Some([[Some("hello".into()),Some("world".into()),],[Some("Ciao".into()),Some("mondo".into()),],]),
[INFO] [stdout]                   r#byteEnumNullableMatrix: Default::default(),
[INFO] [stdout]                   r#interfaceNullableMatrix: Default::default(),
[INFO] [stdout]               }
[INFO] [stdout]           }
[INFO] [stdout]       }
[INFO] [stdout]       impl rsbinder::Parcelable for FixedSizeArrayExample {
[INFO] [stdout]           fn write_to_parcel(&self, _parcel: &mut rsbinder::Parcel) -> rsbinder::Result<()> {
[INFO] [stdout]               _parcel.sized_write(|_sub_parcel| {
[INFO] [stdout]                   _sub_parcel.write(&self.r#int2x3)?;
[INFO] [stdout]                   _sub_parcel.write(&self.r#stringNullableMatrix)?;
[INFO] [stdout]                   _sub_parcel.write(&self.r#byteEnumNullableMatrix)?;
[INFO] [stdout]                   _sub_parcel.write(&self.r#interfaceNullableMatrix)?;
[INFO] [stdout]                   Ok(())
[INFO] [stdout]               })
[INFO] [stdout]           }
[INFO] [stdout]           fn read_from_parcel(&mut self, _parcel: &mut rsbinder::Parcel) -> rsbinder::Result<()> {
[INFO] [stdout]               _parcel.sized_read(|_sub_parcel| {
[INFO] [stdout]                   self.r#int2x3 = _sub_parcel.read()?;
[INFO] [stdout]                   self.r#stringNullableMatrix = _sub_parcel.read()?;
[INFO] [stdout]                   self.r#byteEnumNullableMatrix = _sub_parcel.read()?;
[INFO] [stdout]                   self.r#interfaceNullableMatrix = _sub_parcel.read()?;
[INFO] [stdout]                   Ok(())
[INFO] [stdout]               })
[INFO] [stdout]           }
[INFO] [stdout]       }
[INFO] [stdout]       rsbinder::impl_serialize_for_parcelable!(FixedSizeArrayExample);
[INFO] [stdout]       rsbinder::impl_deserialize_for_parcelable!(FixedSizeArrayExample);
[INFO] [stdout]       impl rsbinder::ParcelableMetadata for FixedSizeArrayExample {
[INFO] [stdout]           fn descriptor() -> &'static str { "android.aidl.fixedsizearray.FixedSizeArrayExample" }
[INFO] [stdout]       }
[INFO] [stdout]       pub mod IRepeatFixedSizeArray {
[INFO] [stdout]           #![allow(non_upper_case_globals, non_snake_case, dead_code)]
[INFO] [stdout]           pub trait IRepeatFixedSizeArray: rsbinder::Interface + Send {
[INFO] [stdout]               fn descriptor() -> &'static str where Self: Sized { "android.aidl.fixedsizearray.FixedSizeArrayExample.IRepeatFixedSizeArray" }
[INFO] [stdout]               fn r#Repeat2dParcelables(&self, _arg_input: &[[super::IntParcelable::IntParcelable; 3]; 2], _arg_repeated: &mut [[super::IntParcelable::IntParcelable; 3]; 2]) -> rsbinder::status::Result<[[super::IntParcelable::IntParcelable; 3]; 2]>;
[INFO] [stdout]               fn getDefaultImpl() -> Option<IRepeatFixedSizeArrayDefaultRef> where Self: Sized {
[INFO] [stdout]                   DEFAULT_IMPL.get().cloned()
[INFO] [stdout]               }
[INFO] [stdout]               fn setDefaultImpl(d: IRepeatFixedSizeArrayDefaultRef) -> IRepeatFixedSizeArrayDefaultRef where Self: Sized {
[INFO] [stdout]                   DEFAULT_IMPL.get_or_init(|| d).clone()
[INFO] [stdout]               }
[INFO] [stdout]           }
[INFO] [stdout] +         pub trait IRepeatFixedSizeArrayAsync<P>: rsbinder::Interface + Send {
[INFO] [stdout] +             fn descriptor() -> &'static str where Self: Sized { "android.aidl.fixedsizearray.FixedSizeArrayExample.IRepeatFixedSizeArray" }
[INFO] [stdout] +             fn r#Repeat2dParcelables<'a>(&'a self, _arg_input: &'a [[super::IntParcelable::IntParcelable; 3]; 2], _arg_repeated: &'a mut [[super::IntParcelable::IntParcelable; 3]; 2]) -> rsbinder::BoxFuture<'a, rsbinder::status::Result<[[super::IntParcelable::IntParcelable; 3]; 2]>>;
[INFO] [stdout] +         }
[INFO] [stdout] +         #[::async_trait::async_trait]
[INFO] [stdout] +         pub trait IRepeatFixedSizeArrayAsyncService: rsbinder::Interface + Send {
[INFO] [stdout] +             fn descriptor() -> &'static str where Self: Sized { "android.aidl.fixedsizearray.FixedSizeArrayExample.IRepeatFixedSizeArray" }
[INFO] [stdout] +             async fn r#Repeat2dParcelables(&self, _arg_input: &[[super::IntParcelable::IntParcelable; 3]; 2], _arg_repeated: &mut [[super::IntParcelable::IntParcelable; 3]; 2]) -> rsbinder::status::Result<[[super::IntParcelable::IntParcelable; 3]; 2]>;
[INFO] [stdout] +         }
[INFO] [stdout] +         impl BnRepeatFixedSizeArray
[INFO] [stdout] +         {
[INFO] [stdout] +             pub fn new_async_binder<T, R>(inner: T, rt: R) -> rsbinder::Strong<dyn IRepeatFixedSizeArray>
[INFO] [stdout] +             where
[INFO] [stdout] +                 T: IRepeatFixedSizeArrayAsyncService + Sync + Send + 'static,
[INFO] [stdout] +                 R: rsbinder::BinderAsyncRuntime + Send + Sync + 'static,
[INFO] [stdout] +             {
[INFO] [stdout] +                 struct Wrapper<T, R> {
[INFO] [stdout] +                     _inner: T,
[INFO] [stdout] +                     _rt: R,
[INFO] [stdout] +                 }
[INFO] [stdout] +                 impl<T, R> rsbinder::Interface for Wrapper<T, R> where T: rsbinder::Interface, R: Send + Sync {
[INFO] [stdout] +                     fn as_binder(&self) -> rsbinder::SIBinder { self._inner.as_binder() }
[INFO] [stdout] +                     fn dump(&self, _writer: &mut dyn std::io::Write, _args: &[String]) -> rsbinder::Result<()> { self._inner.dump(_writer, _args) }
[INFO] [stdout] +                 }
[INFO] [stdout] +                 impl<T, R> BnRepeatFixedSizeArrayAdapter for Wrapper<T, R>
[INFO] [stdout] +                 where
[INFO] [stdout] +                     T: IRepeatFixedSizeArrayAsyncService + Sync + Send + 'static,
[INFO] [stdout] +                     R: rsbinder::BinderAsyncRuntime + Send + Sync + 'static,
[INFO] [stdout] +                 {
[INFO] [stdout] +                     fn as_sync(&self) -> &dyn IRepeatFixedSizeArray {
[INFO] [stdout] +                         self
[INFO] [stdout] +                     }
[INFO] [stdout] +                     fn as_async(&self) -> &dyn IRepeatFixedSizeArrayAsyncService {
[INFO] [stdout] +                         &self._inner
[INFO] [stdout] +                     }
[INFO] [stdout] +                 }
[INFO] [stdout] +                 impl<T, R> IRepeatFixedSizeArray for Wrapper<T, R>
[INFO] [stdout] +                 where
[INFO] [stdout] +                     T: IRepeatFixedSizeArrayAsyncService + Sync + Send + 'static,
[INFO] [stdout] +                     R: rsbinder::BinderAsyncRuntime + Send + Sync + 'static,
[INFO] [stdout] +                 {
[INFO] [stdout] +                     fn r#Repeat2dParcelables(&self, _arg_input: &[[super::IntParcelable::IntParcelable; 3]; 2], _arg_repeated: &mut [[super::IntParcelable::IntParcelable; 3]; 2]) -> rsbinder::status::Result<[[super::IntParcelable::IntParcelable; 3]; 2]> {
[INFO] [stdout] +                         self._rt.block_on(self._inner.r#Repeat2dParcelables(_arg_input, _arg_repeated))
[INFO] [stdout] +                     }
[INFO] [stdout] +                 }
[INFO] [stdout] +                 let wrapped = Wrapper { _inner: inner, _rt: rt };
[INFO] [stdout] +                 let binder = rsbinder::native::Binder::new_with_stability(BnRepeatFixedSizeArray(Box::new(wrapped)), rsbinder::Stability::default());
[INFO] [stdout] +                 rsbinder::Strong::new(Box::new(binder))
[INFO] [stdout] +             }
[INFO] [stdout] +         }
[INFO] [stdout]           pub trait IRepeatFixedSizeArrayDefault: Send + Sync {
[INFO] [stdout]               fn r#Repeat2dParcelables(&self, _arg_input: &[[super::IntParcelable::IntParcelable; 3]; 2], _arg_repeated: &mut [[super::IntParcelable::IntParcelable; 3]; 2]) -> rsbinder::status::Result<[[super::IntParcelable::IntParcelable; 3]; 2]> {
[INFO] [stdout]                   Err(rsbinder::StatusCode::UnknownTransaction.into())
[INFO] [stdout]               }
[INFO] [stdout]           }
[INFO] [stdout]           pub(crate) mod transactions {
[INFO] [stdout]               pub(crate) const r#Repeat2dParcelables: rsbinder::TransactionCode = rsbinder::FIRST_CALL_TRANSACTION + 0;
[INFO] [stdout]           }
[INFO] [stdout]           pub type IRepeatFixedSizeArrayDefaultRef = std::sync::Arc<dyn IRepeatFixedSizeArrayDefault>;
[INFO] [stdout]           static DEFAULT_IMPL: std::sync::OnceLock<IRepeatFixedSizeArrayDefaultRef> = std::sync::OnceLock::new();
[INFO] [stdout]           rsbinder::declare_binder_interface! {
[INFO] [stdout]               IRepeatFixedSizeArray["android.aidl.fixedsizearray.FixedSizeArrayExample.IRepeatFixedSizeArray"] {
[INFO] [stdout]                   native: {
[INFO] [stdout]                       BnRepeatFixedSizeArray(on_transact),
[INFO] [stdout] +                     adapter: BnRepeatFixedSizeArrayAdapter,
[INFO] [stdout] +                     r#async: IRepeatFixedSizeArrayAsyncService,
[INFO] [stdout]                   },
[INFO] [stdout]                   proxy: BpRepeatFixedSizeArray,
[INFO] [stdout] +                 r#async: IRepeatFixedSizeArrayAsync,
[INFO] [stdout]               }
[INFO] [stdout]           }
[INFO] [stdout]           impl BpRepeatFixedSizeArray {
[INFO] [stdout]               fn build_parcel_Repeat2dParcelables(&self, _arg_input: &[[super::IntParcelable::IntParcelable; 3]; 2], _arg_repeated: &mut [[super::IntParcelable::IntParcelable; 3]; 2]) -> rsbinder::Result<rsbinder::Parcel> {
[INFO] [stdout]                   let mut data = self.binder.as_proxy().unwrap().prepare_transact(true)?;
[INFO] [stdout]                   data.write(_arg_input)?;
[INFO] [stdout]                   Ok(data)
[INFO] [stdout]               }
[INFO] [stdout]               fn read_response_Repeat2dParcelables(&self, _arg_input: &[[super::IntParcelable::IntParcelable; 3]; 2], _arg_repeated: &mut [[super::IntParcelable::IntParcelable; 3]; 2], _aidl_reply: rsbinder::Result<Option<rsbinder::Parcel>>) -> rsbinder::status::Result<[[super::IntParcelable::IntParcelable; 3]; 2]> {
[INFO] [stdout]                   if let Err(rsbinder::StatusCode::UnknownTransaction) = _aidl_reply {
[INFO] [stdout]                       if let Some(_aidl_default_impl) = <Self as IRepeatFixedSizeArray>::getDefaultImpl() {
[INFO] [stdout]                         return _aidl_default_impl.r#Repeat2dParcelables(_arg_input, _arg_repeated);
[INFO] [stdout]                       }
[INFO] [stdout]                   }
[INFO] [stdout]                   let mut _aidl_reply = _aidl_reply?.ok_or(rsbinder::StatusCode::UnexpectedNull)?;
[INFO] [stdout]                   let _status = _aidl_reply.read::<rsbinder::Status>()?;
[INFO] [stdout]                   if !_status.is_ok() { return Err(_status); }
[INFO] [stdout]                   let _aidl_return: [[super::IntParcelable::IntParcelable; 3]; 2] = _aidl_reply.read()?;
[INFO] [stdout]                   _aidl_reply.read_onto(_arg_repeated)?;
[INFO] [stdout]                   Ok(_aidl_return)
[INFO] [stdout]               }
[INFO] [stdout]           }
[INFO] [stdout]           impl IRepeatFixedSizeArray for BpRepeatFixedSizeArray {
[INFO] [stdout]               fn r#Repeat2dParcelables(&self, _arg_input: &[[super::IntParcelable::IntParcelable; 3]; 2], _arg_repeated: &mut [[super::IntParcelable::IntParcelable; 3]; 2]) -> rsbinder::status::Result<[[super::IntParcelable::IntParcelable; 3]; 2]> {
[INFO] [stdout]                   let _aidl_data = self.build_parcel_Repeat2dParcelables(_arg_input, _arg_repeated)?;
[INFO] [stdout]                   let _aidl_reply = self.binder.as_proxy().unwrap().submit_transact(transactions::r#Repeat2dParcelables, &_aidl_data, rsbinder::FLAG_CLEAR_BUF);
[INFO] [stdout]                   self.read_response_Repeat2dParcelables(_arg_input, _arg_repeated, _aidl_reply)
[INFO] [stdout]               }
[INFO] [stdout]           }
[INFO] [stdout] +         impl<P: rsbinder::BinderAsyncPool> IRepeatFixedSizeArrayAsync<P> for BpRepeatFixedSizeArray {
[INFO] [stdout] +             fn r#Repeat2dParcelables<'a>(&'a self, _arg_input: &'a [[super::IntParcelable::IntParcelable; 3]; 2], _arg_repeated: &'a mut [[super::IntParcelable::IntParcelable; 3]; 2]) -> rsbinder::BoxFuture<'a, rsbinder::status::Result<[[super::IntParcelable::IntParcelable; 3]; 2]>> {
[INFO] [stdout] +                 let _aidl_data = match self.build_parcel_Repeat2dParcelables(_arg_input, _arg_repeated) {
[INFO] [stdout] +                     Ok(_aidl_data) => _aidl_data,
[INFO] [stdout] +                     Err(err) => return Box::pin(std::future::ready(Err(err.into()))),
[INFO] [stdout] +                 };
[INFO] [stdout] +                 let binder = self.binder.clone();
[INFO] [stdout] +                 P::spawn(
[INFO] [stdout] +                     move || binder.as_proxy().unwrap().submit_transact(transactions::r#Repeat2dParcelables, &_aidl_data, rsbinder::FLAG_CLEAR_BUF | rsbinder::FLAG_PRIVATE_LOCAL),
[INFO] [stdout] +                     move |_aidl_reply| async move {
[INFO] [stdout] +                         self.read_response_Repeat2dParcelables(_arg_input, _arg_repeated, _aidl_reply)
[INFO] [stdout] +                     }
[INFO] [stdout] +                 )
[INFO] [stdout] +             }
[INFO] [stdout] +         }
[INFO] [stdout] +         impl<P: rsbinder::BinderAsyncPool> IRepeatFixedSizeArrayAsync<P> for rsbinder::Binder<BnRepeatFixedSizeArray>
[INFO] [stdout] +         {
[INFO] [stdout] +             fn r#Repeat2dParcelables<'a>(&'a self, _arg_input: &'a [[super::IntParcelable::IntParcelable; 3]; 2], _arg_repeated: &'a mut [[super::IntParcelable::IntParcelable; 3]; 2]) -> rsbinder::BoxFuture<'a, rsbinder::status::Result<[[super::IntParcelable::IntParcelable; 3]; 2]>> {
[INFO] [stdout] +                 self.0.as_async().r#Repeat2dParcelables(_arg_input, _arg_repeated)
[INFO] [stdout] +             }
[INFO] [stdout] +         }
[INFO] [stdout]           impl IRepeatFixedSizeArray for rsbinder::Binder<BnRepeatFixedSizeArray> {
[INFO] [stdout]               fn r#Repeat2dParcelables(&self, _arg_input: &[[super::IntParcelable::IntParcelable; 3]; 2], _arg_repeated: &mut [[super::IntParcelable::IntParcelable; 3]; 2]) -> rsbinder::status::Result<[[super::IntParcelable::IntParcelable; 3]; 2]> {
[INFO] [stdout] -                 self.0.r#Repeat2dParcelables(_arg_input, _arg_repeated)
[INFO] [stdout] +                 self.0.as_sync().r#Repeat2dParcelables(_arg_input, _arg_repeated)
[INFO] [stdout]               }
[INFO] [stdout]           }
[INFO] [stdout]           fn on_transact(
[INFO] [stdout]               _service: &dyn IRepeatFixedSizeArray, _code: rsbinder::TransactionCode, _reader: &mut rsbinder::Parcel, _reply: &mut rsbinder::Parcel) -> rsbinder::Result<()> {
[INFO] [stdout]               match _code {
[INFO] [stdout]                   transactions::r#Repeat2dParcelables => {
[INFO] [stdout]                       let _arg_input: [[super::IntParcelable::IntParcelable; 3]; 2] = _reader.read()?;
[INFO] [stdout]                       let mut _arg_repeated: [[super::IntParcelable::IntParcelable; 3]; 2] = Default::default();
[INFO] [stdout]                       let _aidl_return = _service.r#Repeat2dParcelables(&_arg_input, &mut _arg_repeated);
[INFO] [stdout]                       match &_aidl_return {
[INFO] [stdout]                           Ok(_aidl_return) => {
[INFO] [stdout]                               _reply.write(&rsbinder::Status::from(rsbinder::StatusCode::Ok))?;
[INFO] [stdout]                               _reply.write(_aidl_return)?;
[INFO] [stdout]                               _reply.write(&_arg_repeated)?;
[INFO] [stdout]                           }
[INFO] [stdout]                           Err(_aidl_status) => {
[INFO] [stdout]                               _reply.write(_aidl_status)?;
[INFO] [stdout]                           }
[INFO] [stdout]                       }
[INFO] [stdout]                       Ok(())
[INFO] [stdout]                   }
[INFO] [stdout]                   _ => Err(rsbinder::StatusCode::UnknownTransaction),
[INFO] [stdout]               }
[INFO] [stdout]           }
[INFO] [stdout]       }
[INFO] [stdout]       pub mod ByteEnum {
[INFO] [stdout]           #![allow(non_upper_case_globals, non_snake_case)]
[INFO] [stdout]           rsbinder::declare_binder_enum! {
[INFO] [stdout]               r#ByteEnum : [i8; 1] {
[INFO] [stdout]                   r#A = 0,
[INFO] [stdout]               }
[INFO] [stdout]           }
[INFO] [stdout]       }
[INFO] [stdout]       pub mod IntParcelable {
[INFO] [stdout]           #![allow(non_upper_case_globals, non_snake_case, dead_code)]
[INFO] [stdout]           #[derive(Debug)]
[INFO] [stdout]           #[derive(Clone,Copy,PartialEq)]
[INFO] [stdout]           pub struct IntParcelable {
[INFO] [stdout]               pub r#value: i32,
[INFO] [stdout]           }
[INFO] [stdout]           impl Default for IntParcelable {
[INFO] [stdout]               fn default() -> Self {
[INFO] [stdout]                   Self {
[INFO] [stdout]                       r#value: Default::default(),
[INFO] [stdout]                   }
[INFO] [stdout]               }
[INFO] [stdout]           }
[INFO] [stdout]           impl rsbinder::Parcelable for IntParcelable {
[INFO] [stdout]               fn write_to_parcel(&self, _parcel: &mut rsbinder::Parcel) -> rsbinder::Result<()> {
[INFO] [stdout]                   _parcel.sized_write(|_sub_parcel| {
[INFO] [stdout]                       _sub_parcel.write(&self.r#value)?;
[INFO] [stdout]                       Ok(())
[INFO] [stdout]                   })
[INFO] [stdout]               }
[INFO] [stdout]               fn read_from_parcel(&mut self, _parcel: &mut rsbinder::Parcel) -> rsbinder::Result<()> {
[INFO] [stdout]                   _parcel.sized_read(|_sub_parcel| {
[INFO] [stdout]                       self.r#value = _sub_parcel.read()?;
[INFO] [stdout]                       Ok(())
[INFO] [stdout]                   })
[INFO] [stdout]               }
[INFO] [stdout]           }
[INFO] [stdout]           rsbinder::impl_serialize_for_parcelable!(IntParcelable);
[INFO] [stdout]           rsbinder::impl_deserialize_for_parcelable!(IntParcelable);
[INFO] [stdout]           impl rsbinder::ParcelableMetadata for IntParcelable {
[INFO] [stdout]               fn descriptor() -> &'static str { "android.aidl.fixedsizearray.FixedSizeArrayExample.IntParcelable" }
[INFO] [stdout]           }
[INFO] [stdout]       }
[INFO] [stdout]       pub mod IEmptyInterface {
[INFO] [stdout]           #![allow(non_upper_case_globals, non_snake_case, dead_code)]
[INFO] [stdout]           pub trait IEmptyInterface: rsbinder::Interface + Send {
[INFO] [stdout]               fn descriptor() -> &'static str where Self: Sized { "android.aidl.fixedsizearray.FixedSizeArrayExample.IEmptyInterface" }
[INFO] [stdout]               fn getDefaultImpl() -> Option<IEmptyInterfaceDefaultRef> where Self: Sized {
[INFO] [stdout]                   DEFAULT_IMPL.get().cloned()
[INFO] [stdout]               }
[INFO] [stdout]               fn setDefaultImpl(d: IEmptyInterfaceDefaultRef) -> IEmptyInterfaceDefaultRef where Self: Sized {
[INFO] [stdout]                   DEFAULT_IMPL.get_or_init(|| d).clone()
[INFO] [stdout]               }
[INFO] [stdout]           }
[INFO] [stdout] +         pub trait IEmptyInterfaceAsync<P>: rsbinder::Interface + Send {
[INFO] [stdout] +             fn descriptor() -> &'static str where Self: Sized { "android.aidl.fixedsizearray.FixedSizeArrayExample.IEmptyInterface" }
[INFO] [stdout] +         }
[INFO] [stdout] +         #[::async_trait::async_trait]
[INFO] [stdout] +         pub trait IEmptyInterfaceAsyncService: rsbinder::Interface + Send {
[INFO] [stdout] +             fn descriptor() -> &'static str where Self: Sized { "android.aidl.fixedsizearray.FixedSizeArrayExample.IEmptyInterface" }
[INFO] [stdout] +         }
[INFO] [stdout] +         impl BnEmptyInterface
[INFO] [stdout] +         {
[INFO] [stdout] +             pub fn new_async_binder<T, R>(inner: T, rt: R) -> rsbinder::Strong<dyn IEmptyInterface>
[INFO] [stdout] +             where
[INFO] [stdout] +                 T: IEmptyInterfaceAsyncService + Sync + Send + 'static,
[INFO] [stdout] +                 R: rsbinder::BinderAsyncRuntime + Send + Sync + 'static,
[INFO] [stdout] +             {
[INFO] [stdout] +                 struct Wrapper<T, R> {
[INFO] [stdout] +                     _inner: T,
[INFO] [stdout] +                     _rt: R,
[INFO] [stdout] +                 }
[INFO] [stdout] +                 impl<T, R> rsbinder::Interface for Wrapper<T, R> where T: rsbinder::Interface, R: Send + Sync {
[INFO] [stdout] +                     fn as_binder(&self) -> rsbinder::SIBinder { self._inner.as_binder() }
[INFO] [stdout] +                     fn dump(&self, _writer: &mut dyn std::io::Write, _args: &[String]) -> rsbinder::Result<()> { self._inner.dump(_writer, _args) }
[INFO] [stdout] +                 }
[INFO] [stdout] +                 impl<T, R> BnEmptyInterfaceAdapter for Wrapper<T, R>
[INFO] [stdout] +                 where
[INFO] [stdout] +                     T: IEmptyInterfaceAsyncService + Sync + Send + 'static,
[INFO] [stdout] +                     R: rsbinder::BinderAsyncRuntime + Send + Sync + 'static,
[INFO] [stdout] +                 {
[INFO] [stdout] +                     fn as_sync(&self) -> &dyn IEmptyInterface {
[INFO] [stdout] +                         self
[INFO] [stdout] +                     }
[INFO] [stdout] +                     fn as_async(&self) -> &dyn IEmptyInterfaceAsyncService {
[INFO] [stdout] +                         &self._inner
[INFO] [stdout] +                     }
[INFO] [stdout] +                 }
[INFO] [stdout] +                 impl<T, R> IEmptyInterface for Wrapper<T, R>
[INFO] [stdout] +                 where
[INFO] [stdout] +                     T: IEmptyInterfaceAsyncService + Sync + Send + 'static,
[INFO] [stdout] +                     R: rsbinder::BinderAsyncRuntime + Send + Sync + 'static,
[INFO] [stdout] +                 {
[INFO] [stdout] +                 }
[INFO] [stdout] +                 let wrapped = Wrapper { _inner: inner, _rt: rt };
[INFO] [stdout] +                 let binder = rsbinder::native::Binder::new_with_stability(BnEmptyInterface(Box::new(wrapped)), rsbinder::Stability::default());
[INFO] [stdout] +                 rsbinder::Strong::new(Box::new(binder))
[INFO] [stdout] +             }
[INFO] [stdout] +         }
[INFO] [stdout]           pub trait IEmptyInterfaceDefault: Send + Sync {
[INFO] [stdout]           }
[INFO] [stdout]           pub(crate) mod transactions {
[INFO] [stdout]           }
[INFO] [stdout]           pub type IEmptyInterfaceDefaultRef = std::sync::Arc<dyn IEmptyInterfaceDefault>;
[INFO] [stdout]           static DEFAULT_IMPL: std::sync::OnceLock<IEmptyInterfaceDefaultRef> = std::sync::OnceLock::new();
[INFO] [stdout]           rsbinder::declare_binder_interface! {
[INFO] [stdout]               IEmptyInterface["android.aidl.fixedsizearray.FixedSizeArrayExample.IEmptyInterface"] {
[INFO] [stdout]                   native: {
[INFO] [stdout]                       BnEmptyInterface(on_transact),
[INFO] [stdout] +                     adapter: BnEmptyInterfaceAdapter,
[INFO] [stdout] +                     r#async: IEmptyInterfaceAsyncService,
[INFO] [stdout]                   },
[INFO] [stdout]                   proxy: BpEmptyInterface,
[INFO] [stdout] +                 r#async: IEmptyInterfaceAsync,
[INFO] [stdout]               }
[INFO] [stdout]           }
[INFO] [stdout]           impl BpEmptyInterface {
[INFO] [stdout]           }
[INFO] [stdout]           impl IEmptyInterface for BpEmptyInterface {
[INFO] [stdout]           }
[INFO] [stdout] +         impl<P: rsbinder::BinderAsyncPool> IEmptyInterfaceAsync<P> for BpEmptyInterface {
[INFO] [stdout] +         }
[INFO] [stdout] +         impl<P: rsbinder::BinderAsyncPool> IEmptyInterfaceAsync<P> for rsbinder::Binder<BnEmptyInterface>
[INFO] [stdout] +         {
[INFO] [stdout] +         }
[INFO] [stdout]           impl IEmptyInterface for rsbinder::Binder<BnEmptyInterface> {
[INFO] [stdout]           }
[INFO] [stdout]           fn on_transact(
[INFO] [stdout]               _service: &dyn IEmptyInterface, _code: rsbinder::TransactionCode, _reader: &mut rsbinder::Parcel, _reply: &mut rsbinder::Parcel) -> rsbinder::Result<()> {
[INFO] [stdout]               match _code {
[INFO] [stdout]                   _ => Err(rsbinder::StatusCode::UnknownTransaction),
[INFO] [stdout]               }
[INFO] [stdout]           }
[INFO] [stdout]       }
[INFO] [stdout]   }
[INFO] [stdout] 
[INFO] [stdout] thread 'test_fixed_size_array' (37) panicked at tests/test_arrays.rs:20:5:
[INFO] [stdout] assertion `left == right` failed
[INFO] [stdout]   left: "pub mod FixedSizeArrayExample {\n    #![allow(non_upper_case_globals, non_snake_case, dead_code)]\n    #[derive(Debug)]\n    pub struct FixedSizeArrayExample {\n        pub r#int2x3: [[i32; 3]; 2],\n        pub r#stringNullableMatrix: Option<[[Option<String>; 2]; 2]>,\n        pub r#byteEnumNullableMatrix: Option<[[ByteEnum::ByteEnum; 2]; 2]>,\n        pub r#interfaceNullableMatrix: Option<[[Option<rsbinder::Strong<dyn IEmptyInterface::IEmptyInterface>>; 2]; 2]>,\n    }\n    impl Default for FixedSizeArrayExample {\n        fn default() -> Self {\n            Self {\n                r#int2x3: [[1,2,3,],[4,5,6,],],\n                r#stringNullableMatrix: Some([[Some(\"hello\".into()),Some(\"world\".into()),],[Some(\"Ciao\".into()),Some(\"mondo\".into()),],]),\n                r#byteEnumNullableMatrix: Default::default(),\n                r#interfaceNullableMatrix: Default::default(),\n            }\n        }\n    }\n    impl rsbinder::Parcelable for FixedSizeArrayExample {\n        fn write_to_parcel(&self, _parcel: &mut rsbinder::Parcel) -> rsbinder::Result<()> {\n            _parcel.sized_write(|_sub_parcel| {\n                _sub_parcel.write(&self.r#int2x3)?;\n                _sub_parcel.write(&self.r#stringNullableMatrix)?;\n                _sub_parcel.write(&self.r#byteEnumNullableMatrix)?;\n                _sub_parcel.write(&self.r#interfaceNullableMatrix)?;\n                Ok(())\n            })\n        }\n        fn read_from_parcel(&mut self, _parcel: &mut rsbinder::Parcel) -> rsbinder::Result<()> {\n            _parcel.sized_read(|_sub_parcel| {\n                self.r#int2x3 = _sub_parcel.read()?;\n                self.r#stringNullableMatrix = _sub_parcel.read()?;\n                self.r#byteEnumNullableMatrix = _sub_parcel.read()?;\n                self.r#interfaceNullableMatrix = _sub_parcel.read()?;\n                Ok(())\n            })\n        }\n    }\n    rsbinder::impl_serialize_for_parcelable!(FixedSizeArrayExample);\n    rsbinder::impl_deserialize_for_parcelable!(FixedSizeArrayExample);\n    impl rsbinder::ParcelableMetadata for FixedSizeArrayExample {\n        fn descriptor() -> &'static str { \"android.aidl.fixedsizearray.FixedSizeArrayExample\" }\n    }\n    pub mod IRepeatFixedSizeArray {\n        #![allow(non_upper_case_globals, non_snake_case, dead_code)]\n        pub trait IRepeatFixedSizeArray: rsbinder::Interface + Send {\n            fn descriptor() -> &'static str where Self: Sized { \"android.aidl.fixedsizearray.FixedSizeArrayExample.IRepeatFixedSizeArray\" }\n            fn r#Repeat2dParcelables(&self, _arg_input: &[[super::IntParcelable::IntParcelable; 3]; 2], _arg_repeated: &mut [[super::IntParcelable::IntParcelable; 3]; 2]) -> rsbinder::status::Result<[[super::IntParcelable::IntParcelable; 3]; 2]>;\n            fn getDefaultImpl() -> Option<IRepeatFixedSizeArrayDefaultRef> where Self: Sized {\n                DEFAULT_IMPL.get().cloned()\n            }\n            fn setDefaultImpl(d: IRepeatFixedSizeArrayDefaultRef) -> IRepeatFixedSizeArrayDefaultRef where Self: Sized {\n                DEFAULT_IMPL.get_or_init(|| d).clone()\n            }\n        }\n        pub trait IRepeatFixedSizeArrayDefault: Send + Sync {\n            fn r#Repeat2dParcelables(&self, _arg_input: &[[super::IntParcelable::IntParcelable; 3]; 2], _arg_repeated: &mut [[super::IntParcelable::IntParcelable; 3]; 2]) -> rsbinder::status::Result<[[super::IntParcelable::IntParcelable; 3]; 2]> {\n                Err(rsbinder::StatusCode::UnknownTransaction.into())\n            }\n        }\n        pub(crate) mod transactions {\n            pub(crate) const r#Repeat2dParcelables: rsbinder::TransactionCode = rsbinder::FIRST_CALL_TRANSACTION + 0;\n        }\n        pub type IRepeatFixedSizeArrayDefaultRef = std::sync::Arc<dyn IRepeatFixedSizeArrayDefault>;\n        static DEFAULT_IMPL: std::sync::OnceLock<IRepeatFixedSizeArrayDefaultRef> = std::sync::OnceLock::new();\n        rsbinder::declare_binder_interface! {\n            IRepeatFixedSizeArray[\"android.aidl.fixedsizearray.FixedSizeArrayExample.IRepeatFixedSizeArray\"] {\n                native: {\n                    BnRepeatFixedSizeArray(on_transact),\n                },\n                proxy: BpRepeatFixedSizeArray,\n            }\n        }\n        impl BpRepeatFixedSizeArray {\n            fn build_parcel_Repeat2dParcelables(&self, _arg_input: &[[super::IntParcelable::IntParcelable; 3]; 2], _arg_repeated: &mut [[super::IntParcelable::IntParcelable; 3]; 2]) -> rsbinder::Result<rsbinder::Parcel> {\n                let mut data = self.binder.as_proxy().unwrap().prepare_transact(true)?;\n                data.write(_arg_input)?;\n                Ok(data)\n            }\n            fn read_response_Repeat2dParcelables(&self, _arg_input: &[[super::IntParcelable::IntParcelable; 3]; 2], _arg_repeated: &mut [[super::IntParcelable::IntParcelable; 3]; 2], _aidl_reply: rsbinder::Result<Option<rsbinder::Parcel>>) -> rsbinder::status::Result<[[super::IntParcelable::IntParcelable; 3]; 2]> {\n                if let Err(rsbinder::StatusCode::UnknownTransaction) = _aidl_reply {\n                    if let Some(_aidl_default_impl) = <Self as IRepeatFixedSizeArray>::getDefaultImpl() {\n                      return _aidl_default_impl.r#Repeat2dParcelables(_arg_input, _arg_repeated);\n                    }\n                }\n                let mut _aidl_reply = _aidl_reply?.ok_or(rsbinder::StatusCode::UnexpectedNull)?;\n                let _status = _aidl_reply.read::<rsbinder::Status>()?;\n                if !_status.is_ok() { return Err(_status); }\n                let _aidl_return: [[super::IntParcelable::IntParcelable; 3]; 2] = _aidl_reply.read()?;\n                _aidl_reply.read_onto(_arg_repeated)?;\n                Ok(_aidl_return)\n            }\n        }\n        impl IRepeatFixedSizeArray for BpRepeatFixedSizeArray {\n            fn r#Repeat2dParcelables(&self, _arg_input: &[[super::IntParcelable::IntParcelable; 3]; 2], _arg_repeated: &mut [[super::IntParcelable::IntParcelable; 3]; 2]) -> rsbinder::status::Result<[[super::IntParcelable::IntParcelable; 3]; 2]> {\n                let _aidl_data = self.build_parcel_Repeat2dParcelables(_arg_input, _arg_repeated)?;\n                let _aidl_reply = self.binder.as_proxy().unwrap().submit_transact(transactions::r#Repeat2dParcelables, &_aidl_data, rsbinder::FLAG_CLEAR_BUF);\n                self.read_response_Repeat2dParcelables(_arg_input, _arg_repeated, _aidl_reply)\n            }\n        }\n        impl IRepeatFixedSizeArray for rsbinder::Binder<BnRepeatFixedSizeArray> {\n            fn r#Repeat2dParcelables(&self, _arg_input: &[[super::IntParcelable::IntParcelable; 3]; 2], _arg_repeated: &mut [[super::IntParcelable::IntParcelable; 3]; 2]) -> rsbinder::status::Result<[[super::IntParcelable::IntParcelable; 3]; 2]> {\n                self.0.r#Repeat2dParcelables(_arg_input, _arg_repeated)\n            }\n        }\n        fn on_transact(\n            _service: &dyn IRepeatFixedSizeArray, _code: rsbinder::TransactionCode, _reader: &mut rsbinder::Parcel, _reply: &mut rsbinder::Parcel) -> rsbinder::Result<()> {\n            match _code {\n                transactions::r#Repeat2dParcelables => {\n                    let _arg_input: [[super::IntParcelable::IntParcelable; 3]; 2] = _reader.read()?;\n                    let mut _arg_repeated: [[super::IntParcelable::IntParcelable; 3]; 2] = Default::default();\n                    let _aidl_return = _service.r#Repeat2dParcelables(&_arg_input, &mut _arg_repeated);\n                    match &_aidl_return {\n                        Ok(_aidl_return) => {\n                            _reply.write(&rsbinder::Status::from(rsbinder::StatusCode::Ok))?;\n                            _reply.write(_aidl_return)?;\n                            _reply.write(&_arg_repeated)?;\n                        }\n                        Err(_aidl_status) => {\n                            _reply.write(_aidl_status)?;\n                        }\n                    }\n                    Ok(())\n                }\n                _ => Err(rsbinder::StatusCode::UnknownTransaction),\n            }\n        }\n    }\n    pub mod ByteEnum {\n        #![allow(non_upper_case_globals, non_snake_case)]\n        rsbinder::declare_binder_enum! {\n            r#ByteEnum : [i8; 1] {\n                r#A = 0,\n            }\n        }\n    }\n    pub mod IntParcelable {\n        #![allow(non_upper_case_globals, non_snake_case, dead_code)]\n        #[derive(Debug)]\n        #[derive(Clone,Copy,PartialEq)]\n        pub struct IntParcelable {\n            pub r#value: i32,\n        }\n        impl Default for IntParcelable {\n            fn default() -> Self {\n                Self {\n                    r#value: Default::default(),\n                }\n            }\n        }\n        impl rsbinder::Parcelable for IntParcelable {\n            fn write_to_parcel(&self, _parcel: &mut rsbinder::Parcel) -> rsbinder::Result<()> {\n                _parcel.sized_write(|_sub_parcel| {\n                    _sub_parcel.write(&self.r#value)?;\n                    Ok(())\n                })\n            }\n            fn read_from_parcel(&mut self, _parcel: &mut rsbinder::Parcel) -> rsbinder::Result<()> {\n                _parcel.sized_read(|_sub_parcel| {\n                    self.r#value = _sub_parcel.read()?;\n                    Ok(())\n                })\n            }\n        }\n        rsbinder::impl_serialize_for_parcelable!(IntParcelable);\n        rsbinder::impl_deserialize_for_parcelable!(IntParcelable);\n        impl rsbinder::ParcelableMetadata for IntParcelable {\n            fn descriptor() -> &'static str { \"android.aidl.fixedsizearray.FixedSizeArrayExample.IntParcelable\" }\n        }\n    }\n    pub mod IEmptyInterface {\n        #![allow(non_upper_case_globals, non_snake_case, dead_code)]\n        pub trait IEmptyInterface: rsbinder::Interface + Send {\n            fn descriptor() -> &'static str where Self: Sized { \"android.aidl.fixedsizearray.FixedSizeArrayExample.IEmptyInterface\" }\n            fn getDefaultImpl() -> Option<IEmptyInterfaceDefaultRef> where Self: Sized {\n                DEFAULT_IMPL.get().cloned()\n            }\n            fn setDefaultImpl(d: IEmptyInterfaceDefaultRef) -> IEmptyInterfaceDefaultRef where Self: Sized {\n                DEFAULT_IMPL.get_or_init(|| d).clone()\n            }\n        }\n        pub trait IEmptyInterfaceDefault: Send + Sync {\n        }\n        pub(crate) mod transactions {\n        }\n        pub type IEmptyInterfaceDefaultRef = std::sync::Arc<dyn IEmptyInterfaceDefault>;\n        static DEFAULT_IMPL: std::sync::OnceLock<IEmptyInterfaceDefaultRef> = std::sync::OnceLock::new();\n        rsbinder::declare_binder_interface! {\n            IEmptyInterface[\"android.aidl.fixedsizearray.FixedSizeArrayExample.IEmptyInterface\"] {\n                native: {\n                    BnEmptyInterface(on_transact),\n                },\n                proxy: BpEmptyInterface,\n            }\n        }\n        impl BpEmptyInterface {\n        }\n        impl IEmptyInterface for BpEmptyInterface {\n        }\n        impl IEmptyInterface for rsbinder::Binder<BnEmptyInterface> {\n        }\n        fn on_transact(\n            _service: &dyn IEmptyInterface, _code: rsbinder::TransactionCode, _reader: &mut rsbinder::Parcel, _reply: &mut rsbinder::Parcel) -> rsbinder::Result<()> {\n            match _code {\n                _ => Err(rsbinder::StatusCode::UnknownTransaction),\n            }\n        }\n    }\n}"
[INFO] [stdout]  right: "pub mod FixedSizeArrayExample {\n    #![allow(non_upper_case_globals, non_snake_case, dead_code)]\n    #[derive(Debug)]\n    pub struct FixedSizeArrayExample {\n        pub r#int2x3: [[i32; 3]; 2],\n        pub r#stringNullableMatrix: Option<[[Option<String>; 2]; 2]>,\n        pub r#byteEnumNullableMatrix: Option<[[ByteEnum::ByteEnum; 2]; 2]>,\n        pub r#interfaceNullableMatrix: Option<[[Option<rsbinder::Strong<dyn IEmptyInterface::IEmptyInterface>>; 2]; 2]>,\n    }\n    impl Default for FixedSizeArrayExample {\n        fn default() -> Self {\n            Self {\n                r#int2x3: [[1,2,3,],[4,5,6,],],\n                r#stringNullableMatrix: Some([[Some(\"hello\".into()),Some(\"world\".into()),],[Some(\"Ciao\".into()),Some(\"mondo\".into()),],]),\n                r#byteEnumNullableMatrix: Default::default(),\n                r#interfaceNullableMatrix: Default::default(),\n            }\n        }\n    }\n    impl rsbinder::Parcelable for FixedSizeArrayExample {\n        fn write_to_parcel(&self, _parcel: &mut rsbinder::Parcel) -> rsbinder::Result<()> {\n            _parcel.sized_write(|_sub_parcel| {\n                _sub_parcel.write(&self.r#int2x3)?;\n                _sub_parcel.write(&self.r#stringNullableMatrix)?;\n                _sub_parcel.write(&self.r#byteEnumNullableMatrix)?;\n                _sub_parcel.write(&self.r#interfaceNullableMatrix)?;\n                Ok(())\n            })\n        }\n        fn read_from_parcel(&mut self, _parcel: &mut rsbinder::Parcel) -> rsbinder::Result<()> {\n            _parcel.sized_read(|_sub_parcel| {\n                self.r#int2x3 = _sub_parcel.read()?;\n                self.r#stringNullableMatrix = _sub_parcel.read()?;\n                self.r#byteEnumNullableMatrix = _sub_parcel.read()?;\n                self.r#interfaceNullableMatrix = _sub_parcel.read()?;\n                Ok(())\n            })\n        }\n    }\n    rsbinder::impl_serialize_for_parcelable!(FixedSizeArrayExample);\n    rsbinder::impl_deserialize_for_parcelable!(FixedSizeArrayExample);\n    impl rsbinder::ParcelableMetadata for FixedSizeArrayExample {\n        fn descriptor() -> &'static str { \"android.aidl.fixedsizearray.FixedSizeArrayExample\" }\n    }\n    pub mod IRepeatFixedSizeArray {\n        #![allow(non_upper_case_globals, non_snake_case, dead_code)]\n        pub trait IRepeatFixedSizeArray: rsbinder::Interface + Send {\n            fn descriptor() -> &'static str where Self: Sized { \"android.aidl.fixedsizearray.FixedSizeArrayExample.IRepeatFixedSizeArray\" }\n            fn r#Repeat2dParcelables(&self, _arg_input: &[[super::IntParcelable::IntParcelable; 3]; 2], _arg_repeated: &mut [[super::IntParcelable::IntParcelable; 3]; 2]) -> rsbinder::status::Result<[[super::IntParcelable::IntParcelable; 3]; 2]>;\n            fn getDefaultImpl() -> Option<IRepeatFixedSizeArrayDefaultRef> where Self: Sized {\n                DEFAULT_IMPL.get().cloned()\n            }\n            fn setDefaultImpl(d: IRepeatFixedSizeArrayDefaultRef) -> IRepeatFixedSizeArrayDefaultRef where Self: Sized {\n                DEFAULT_IMPL.get_or_init(|| d).clone()\n            }\n        }\n        pub trait IRepeatFixedSizeArrayAsync<P>: rsbinder::Interface + Send {\n            fn descriptor() -> &'static str where Self: Sized { \"android.aidl.fixedsizearray.FixedSizeArrayExample.IRepeatFixedSizeArray\" }\n            fn r#Repeat2dParcelables<'a>(&'a self, _arg_input: &'a [[super::IntParcelable::IntParcelable; 3]; 2], _arg_repeated: &'a mut [[super::IntParcelable::IntParcelable; 3]; 2]) -> rsbinder::BoxFuture<'a, rsbinder::status::Result<[[super::IntParcelable::IntParcelable; 3]; 2]>>;\n        }\n        #[::async_trait::async_trait]\n        pub trait IRepeatFixedSizeArrayAsyncService: rsbinder::Interface + Send {\n            fn descriptor() -> &'static str where Self: Sized { \"android.aidl.fixedsizearray.FixedSizeArrayExample.IRepeatFixedSizeArray\" }\n            async fn r#Repeat2dParcelables(&self, _arg_input: &[[super::IntParcelable::IntParcelable; 3]; 2], _arg_repeated: &mut [[super::IntParcelable::IntParcelable; 3]; 2]) -> rsbinder::status::Result<[[super::IntParcelable::IntParcelable; 3]; 2]>;\n        }\n        impl BnRepeatFixedSizeArray\n        {\n            pub fn new_async_binder<T, R>(inner: T, rt: R) -> rsbinder::Strong<dyn IRepeatFixedSizeArray>\n            where\n                T: IRepeatFixedSizeArrayAsyncService + Sync + Send + 'static,\n                R: rsbinder::BinderAsyncRuntime + Send + Sync + 'static,\n            {\n                struct Wrapper<T, R> {\n                    _inner: T,\n                    _rt: R,\n                }\n                impl<T, R> rsbinder::Interface for Wrapper<T, R> where T: rsbinder::Interface, R: Send + Sync {\n                    fn as_binder(&self) -> rsbinder::SIBinder { self._inner.as_binder() }\n                    fn dump(&self, _writer: &mut dyn std::io::Write, _args: &[String]) -> rsbinder::Result<()> { self._inner.dump(_writer, _args) }\n                }\n                impl<T, R> BnRepeatFixedSizeArrayAdapter for Wrapper<T, R>\n                where\n                    T: IRepeatFixedSizeArrayAsyncService + Sync + Send + 'static,\n                    R: rsbinder::BinderAsyncRuntime + Send + Sync + 'static,\n                {\n                    fn as_sync(&self) -> &dyn IRepeatFixedSizeArray {\n                        self\n                    }\n                    fn as_async(&self) -> &dyn IRepeatFixedSizeArrayAsyncService {\n                        &self._inner\n                    }\n                }\n                impl<T, R> IRepeatFixedSizeArray for Wrapper<T, R>\n                where\n                    T: IRepeatFixedSizeArrayAsyncService + Sync + Send + 'static,\n                    R: rsbinder::BinderAsyncRuntime + Send + Sync + 'static,\n                {\n                    fn r#Repeat2dParcelables(&self, _arg_input: &[[super::IntParcelable::IntParcelable; 3]; 2], _arg_repeated: &mut [[super::IntParcelable::IntParcelable; 3]; 2]) -> rsbinder::status::Result<[[super::IntParcelable::IntParcelable; 3]; 2]> {\n                        self._rt.block_on(self._inner.r#Repeat2dParcelables(_arg_input, _arg_repeated))\n                    }\n                }\n                let wrapped = Wrapper { _inner: inner, _rt: rt };\n                let binder = rsbinder::native::Binder::new_with_stability(BnRepeatFixedSizeArray(Box::new(wrapped)), rsbinder::Stability::default());\n                rsbinder::Strong::new(Box::new(binder))\n            }\n        }\n        pub trait IRepeatFixedSizeArrayDefault: Send + Sync {\n            fn r#Repeat2dParcelables(&self, _arg_input: &[[super::IntParcelable::IntParcelable; 3]; 2], _arg_repeated: &mut [[super::IntParcelable::IntParcelable; 3]; 2]) -> rsbinder::status::Result<[[super::IntParcelable::IntParcelable; 3]; 2]> {\n                Err(rsbinder::StatusCode::UnknownTransaction.into())\n            }\n        }\n        pub(crate) mod transactions {\n            pub(crate) const r#Repeat2dParcelables: rsbinder::TransactionCode = rsbinder::FIRST_CALL_TRANSACTION + 0;\n        }\n        pub type IRepeatFixedSizeArrayDefaultRef = std::sync::Arc<dyn IRepeatFixedSizeArrayDefault>;\n        static DEFAULT_IMPL: std::sync::OnceLock<IRepeatFixedSizeArrayDefaultRef> = std::sync::OnceLock::new();\n        rsbinder::declare_binder_interface! {\n            IRepeatFixedSizeArray[\"android.aidl.fixedsizearray.FixedSizeArrayExample.IRepeatFixedSizeArray\"] {\n                native: {\n                    BnRepeatFixedSizeArray(on_transact),\n                    adapter: BnRepeatFixedSizeArrayAdapter,\n                    r#async: IRepeatFixedSizeArrayAsyncService,\n                },\n                proxy: BpRepeatFixedSizeArray,\n                r#async: IRepeatFixedSizeArrayAsync,\n            }\n        }\n        impl BpRepeatFixedSizeArray {\n            fn build_parcel_Repeat2dParcelables(&self, _arg_input: &[[super::IntParcelable::IntParcelable; 3]; 2], _arg_repeated: &mut [[super::IntParcelable::IntParcelable; 3]; 2]) -> rsbinder::Result<rsbinder::Parcel> {\n                let mut data = self.binder.as_proxy().unwrap().prepare_transact(true)?;\n                data.write(_arg_input)?;\n                Ok(data)\n            }\n            fn read_response_Repeat2dParcelables(&self, _arg_input: &[[super::IntParcelable::IntParcelable; 3]; 2], _arg_repeated: &mut [[super::IntParcelable::IntParcelable; 3]; 2], _aidl_reply: rsbinder::Result<Option<rsbinder::Parcel>>) -> rsbinder::status::Result<[[super::IntParcelable::IntParcelable; 3]; 2]> {\n                if let Err(rsbinder::StatusCode::UnknownTransaction) = _aidl_reply {\n                    if let Some(_aidl_default_impl) = <Self as IRepeatFixedSizeArray>::getDefaultImpl() {\n                      return _aidl_default_impl.r#Repeat2dParcelables(_arg_input, _arg_repeated);\n                    }\n                }\n                let mut _aidl_reply = _aidl_reply?.ok_or(rsbinder::StatusCode::UnexpectedNull)?;\n                let _status = _aidl_reply.read::<rsbinder::Status>()?;\n                if !_status.is_ok() { return Err(_status); }\n                let _aidl_return: [[super::IntParcelable::IntParcelable; 3]; 2] = _aidl_reply.read()?;\n                _aidl_reply.read_onto(_arg_repeated)?;\n                Ok(_aidl_return)\n            }\n        }\n        impl IRepeatFixedSizeArray for BpRepeatFixedSizeArray {\n            fn r#Repeat2dParcelables(&self, _arg_input: &[[super::IntParcelable::IntParcelable; 3]; 2], _arg_repeated: &mut [[super::IntParcelable::IntParcelable; 3]; 2]) -> rsbinder::status::Result<[[super::IntParcelable::IntParcelable; 3]; 2]> {\n                let _aidl_data = self.build_parcel_Repeat2dParcelables(_arg_input, _arg_repeated)?;\n                let _aidl_reply = self.binder.as_proxy().unwrap().submit_transact(transactions::r#Repeat2dParcelables, &_aidl_data, rsbinder::FLAG_CLEAR_BUF);\n                self.read_response_Repeat2dParcelables(_arg_input, _arg_repeated, _aidl_reply)\n            }\n        }\n        impl<P: rsbinder::BinderAsyncPool> IRepeatFixedSizeArrayAsync<P> for BpRepeatFixedSizeArray {\n            fn r#Repeat2dParcelables<'a>(&'a self, _arg_input: &'a [[super::IntParcelable::IntParcelable; 3]; 2], _arg_repeated: &'a mut [[super::IntParcelable::IntParcelable; 3]; 2]) -> rsbinder::BoxFuture<'a, rsbinder::status::Result<[[super::IntParcelable::IntParcelable; 3]; 2]>> {\n                let _aidl_data = match self.build_parcel_Repeat2dParcelables(_arg_input, _arg_repeated) {\n                    Ok(_aidl_data) => _aidl_data,\n                    Err(err) => return Box::pin(std::future::ready(Err(err.into()))),\n                };\n                let binder = self.binder.clone();\n                P::spawn(\n                    move || binder.as_proxy().unwrap().submit_transact(transactions::r#Repeat2dParcelables, &_aidl_data, rsbinder::FLAG_CLEAR_BUF | rsbinder::FLAG_PRIVATE_LOCAL),\n                    move |_aidl_reply| async move {\n                        self.read_response_Repeat2dParcelables(_arg_input, _arg_repeated, _aidl_reply)\n                    }\n                )\n            }\n        }\n        impl<P: rsbinder::BinderAsyncPool> IRepeatFixedSizeArrayAsync<P> for rsbinder::Binder<BnRepeatFixedSizeArray>\n        {\n            fn r#Repeat2dParcelables<'a>(&'a self, _arg_input: &'a [[super::IntParcelable::IntParcelable; 3]; 2], _arg_repeated: &'a mut [[super::IntParcelable::IntParcelable; 3]; 2]) -> rsbinder::BoxFuture<'a, rsbinder::status::Result<[[super::IntParcelable::IntParcelable; 3]; 2]>> {\n                self.0.as_async().r#Repeat2dParcelables(_arg_input, _arg_repeated)\n            }\n        }\n        impl IRepeatFixedSizeArray for rsbinder::Binder<BnRepeatFixedSizeArray> {\n            fn r#Repeat2dParcelables(&self, _arg_input: &[[super::IntParcelable::IntParcelable; 3]; 2], _arg_repeated: &mut [[super::IntParcelable::IntParcelable; 3]; 2]) -> rsbinder::status::Result<[[super::IntParcelable::IntParcelable; 3]; 2]> {\n                self.0.as_sync().r#Repeat2dParcelables(_arg_input, _arg_repeated)\n            }\n        }\n        fn on_transact(\n            _service: &dyn IRepeatFixedSizeArray, _code: rsbinder::TransactionCode, _reader: &mut rsbinder::Parcel, _reply: &mut rsbinder::Parcel) -> rsbinder::Result<()> {\n            match _code {\n                transactions::r#Repeat2dParcelables => {\n                    let _arg_input: [[super::IntParcelable::IntParcelable; 3]; 2] = _reader.read()?;\n                    let mut _arg_repeated: [[super::IntParcelable::IntParcelable; 3]; 2] = Default::default();\n                    let _aidl_return = _service.r#Repeat2dParcelables(&_arg_input, &mut _arg_repeated);\n                    match &_aidl_return {\n                        Ok(_aidl_return) => {\n                            _reply.write(&rsbinder::Status::from(rsbinder::StatusCode::Ok))?;\n                            _reply.write(_aidl_return)?;\n                            _reply.write(&_arg_repeated)?;\n                        }\n                        Err(_aidl_status) => {\n                            _reply.write(_aidl_status)?;\n                        }\n                    }\n                    Ok(())\n                }\n                _ => Err(rsbinder::StatusCode::UnknownTransaction),\n            }\n        }\n    }\n    pub mod ByteEnum {\n        #![allow(non_upper_case_globals, non_snake_case)]\n        rsbinder::declare_binder_enum! {\n            r#ByteEnum : [i8; 1] {\n                r#A = 0,\n            }\n        }\n    }\n    pub mod IntParcelable {\n        #![allow(non_upper_case_globals, non_snake_case, dead_code)]\n        #[derive(Debug)]\n        #[derive(Clone,Copy,PartialEq)]\n        pub struct IntParcelable {\n            pub r#value: i32,\n        }\n        impl Default for IntParcelable {\n            fn default() -> Self {\n                Self {\n                    r#value: Default::default(),\n                }\n            }\n        }\n        impl rsbinder::Parcelable for IntParcelable {\n            fn write_to_parcel(&self, _parcel: &mut rsbinder::Parcel) -> rsbinder::Result<()> {\n                _parcel.sized_write(|_sub_parcel| {\n                    _sub_parcel.write(&self.r#value)?;\n                    Ok(())\n                })\n            }\n            fn read_from_parcel(&mut self, _parcel: &mut rsbinder::Parcel) -> rsbinder::Result<()> {\n                _parcel.sized_read(|_sub_parcel| {\n                    self.r#value = _sub_parcel.read()?;\n                    Ok(())\n                })\n            }\n        }\n        rsbinder::impl_serialize_for_parcelable!(IntParcelable);\n        rsbinder::impl_deserialize_for_parcelable!(IntParcelable);\n        impl rsbinder::ParcelableMetadata for IntParcelable {\n            fn descriptor() -> &'static str { \"android.aidl.fixedsizearray.FixedSizeArrayExample.IntParcelable\" }\n        }\n    }\n    pub mod IEmptyInterface {\n        #![allow(non_upper_case_globals, non_snake_case, dead_code)]\n        pub trait IEmptyInterface: rsbinder::Interface + Send {\n            fn descriptor() -> &'static str where Self: Sized { \"android.aidl.fixedsizearray.FixedSizeArrayExample.IEmptyInterface\" }\n            fn getDefaultImpl() -> Option<IEmptyInterfaceDefaultRef> where Self: Sized {\n                DEFAULT_IMPL.get().cloned()\n            }\n            fn setDefaultImpl(d: IEmptyInterfaceDefaultRef) -> IEmptyInterfaceDefaultRef where Self: Sized {\n                DEFAULT_IMPL.get_or_init(|| d).clone()\n            }\n        }\n        pub trait IEmptyInterfaceAsync<P>: rsbinder::Interface + Send {\n            fn descriptor() -> &'static str where Self: Sized { \"android.aidl.fixedsizearray.FixedSizeArrayExample.IEmptyInterface\" }\n        }\n        #[::async_trait::async_trait]\n        pub trait IEmptyInterfaceAsyncService: rsbinder::Interface + Send {\n            fn descriptor() -> &'static str where Self: Sized { \"android.aidl.fixedsizearray.FixedSizeArrayExample.IEmptyInterface\" }\n        }\n        impl BnEmptyInterface\n        {\n            pub fn new_async_binder<T, R>(inner: T, rt: R) -> rsbinder::Strong<dyn IEmptyInterface>\n            where\n                T: IEmptyInterfaceAsyncService + Sync + Send + 'static,\n                R: rsbinder::BinderAsyncRuntime + Send + Sync + 'static,\n            {\n                struct Wrapper<T, R> {\n                    _inner: T,\n                    _rt: R,\n                }\n                impl<T, R> rsbinder::Interface for Wrapper<T, R> where T: rsbinder::Interface, R: Send + Sync {\n                    fn as_binder(&self) -> rsbinder::SIBinder { self._inner.as_binder() }\n                    fn dump(&self, _writer: &mut dyn std::io::Write, _args: &[String]) -> rsbinder::Result<()> { self._inner.dump(_writer, _args) }\n                }\n                impl<T, R> BnEmptyInterfaceAdapter for Wrapper<T, R>\n                where\n                    T: IEmptyInterfaceAsyncService + Sync + Send + 'static,\n                    R: rsbinder::BinderAsyncRuntime + Send + Sync + 'static,\n                {\n                    fn as_sync(&self) -> &dyn IEmptyInterface {\n                        self\n                    }\n                    fn as_async(&self) -> &dyn IEmptyInterfaceAsyncService {\n                        &self._inner\n                    }\n                }\n                impl<T, R> IEmptyInterface for Wrapper<T, R>\n                where\n                    T: IEmptyInterfaceAsyncService + Sync + Send + 'static,\n                    R: rsbinder::BinderAsyncRuntime + Send + Sync + 'static,\n                {\n                }\n                let wrapped = Wrapper { _inner: inner, _rt: rt };\n                let binder = rsbinder::native::Binder::new_with_stability(BnEmptyInterface(Box::new(wrapped)), rsbinder::Stability::default());\n                rsbinder::Strong::new(Box::new(binder))\n            }\n        }\n        pub trait IEmptyInterfaceDefault: Send + Sync {\n        }\n        pub(crate) mod transactions {\n        }\n        pub type IEmptyInterfaceDefaultRef = std::sync::Arc<dyn IEmptyInterfaceDefault>;\n        static DEFAULT_IMPL: std::sync::OnceLock<IEmptyInterfaceDefaultRef> = std::sync::OnceLock::new();\n        rsbinder::declare_binder_interface! {\n            IEmptyInterface[\"android.aidl.fixedsizearray.FixedSizeArrayExample.IEmptyInterface\"] {\n                native: {\n                    BnEmptyInterface(on_transact),\n                    adapter: BnEmptyInterfaceAdapter,\n                    r#async: IEmptyInterfaceAsyncService,\n                },\n                proxy: BpEmptyInterface,\n                r#async: IEmptyInterfaceAsync,\n            }\n        }\n        impl BpEmptyInterface {\n        }\n        impl IEmptyInterface for BpEmptyInterface {\n        }\n        impl<P: rsbinder::BinderAsyncPool> IEmptyInterfaceAsync<P> for BpEmptyInterface {\n        }\n        impl<P: rsbinder::BinderAsyncPool> IEmptyInterfaceAsync<P> for rsbinder::Binder<BnEmptyInterface>\n        {\n        }\n        impl IEmptyInterface for rsbinder::Binder<BnEmptyInterface> {\n        }\n        fn on_transact(\n            _service: &dyn IEmptyInterface, _code: rsbinder::TransactionCode, _reader: &mut rsbinder::Parcel, _reply: &mut rsbinder::Parcel) -> rsbinder::Result<()> {\n            match _code {\n                _ => Err(rsbinder::StatusCode::UnknownTransaction),\n            }\n        }\n    }\n}"
[INFO] [stdout] stack backtrace:
[INFO] [stdout]    0:     0x6356786a0012 - std[3b51380354919863]::backtrace_rs::backtrace::libunwind::trace
[INFO] [stdout]                                at /rustc/0d162b25edd5bf0dba9a22e83b614f1113e90474/library/std/src/../../backtrace/src/backtrace/libunwind.rs:117:9
[INFO] [stdout]    1:     0x6356786a0012 - std[3b51380354919863]::backtrace_rs::backtrace::trace_unsynchronized::<std[3b51380354919863]::sys::backtrace::_print_fmt::{closure#1}>
[INFO] [stdout]                                at /rustc/0d162b25edd5bf0dba9a22e83b614f1113e90474/library/std/src/../../backtrace/src/backtrace/mod.rs:66:14
[INFO] [stdout]    2:     0x6356786a0012 - std[3b51380354919863]::sys::backtrace::_print_fmt
[INFO] [stdout]                                at /rustc/0d162b25edd5bf0dba9a22e83b614f1113e90474/library/std/src/sys/backtrace.rs:74:9
[INFO] [stdout]    3:     0x6356786a0012 - <<std[3b51380354919863]::sys::backtrace::BacktraceLock>::print::DisplayBacktrace as core[27de1724e4349be2]::fmt::Display>::fmt
[INFO] [stdout]                                at /rustc/0d162b25edd5bf0dba9a22e83b614f1113e90474/library/std/src/sys/backtrace.rs:44:26
[INFO] [stdout]    4:     0x6356786b863a - <core[27de1724e4349be2]::fmt::rt::Argument>::fmt
[INFO] [stdout]                                at /rustc/0d162b25edd5bf0dba9a22e83b614f1113e90474/library/core/src/fmt/rt.rs:152:76
[INFO] [stdout]    5:     0x6356786b863a - core[27de1724e4349be2]::fmt::write
[INFO] [stdout]    6:     0x6356786a4e76 - std[3b51380354919863]::io::default_write_fmt::<alloc[a57f19327c0ad893]::vec::Vec<u8>>
[INFO] [stdout]                                at /rustc/0d162b25edd5bf0dba9a22e83b614f1113e90474/library/std/src/io/mod.rs:639:11
[INFO] [stdout]    7:     0x6356786a4e76 - <alloc[a57f19327c0ad893]::vec::Vec<u8> as std[3b51380354919863]::io::Write>::write_fmt
[INFO] [stdout]                                at /rustc/0d162b25edd5bf0dba9a22e83b614f1113e90474/library/std/src/io/mod.rs:1994:13
[INFO] [stdout]    8:     0x63567867dc1f - <std[3b51380354919863]::sys::backtrace::BacktraceLock>::print
[INFO] [stdout]                                at /rustc/0d162b25edd5bf0dba9a22e83b614f1113e90474/library/std/src/sys/backtrace.rs:47:9
[INFO] [stdout]    9:     0x63567867dc1f - std[3b51380354919863]::panicking::default_hook::{closure#0}
[INFO] [stdout]                                at /rustc/0d162b25edd5bf0dba9a22e83b614f1113e90474/library/std/src/panicking.rs:292:27
[INFO] [stdout]   10:     0x635678697929 - std[3b51380354919863]::panicking::default_hook
[INFO] [stdout]                                at /rustc/0d162b25edd5bf0dba9a22e83b614f1113e90474/library/std/src/panicking.rs:316:9
[INFO] [stdout]   11:     0x6356785f184e - <alloc[a57f19327c0ad893]::boxed::Box<dyn for<'a, 'b> core[27de1724e4349be2]::ops::function::Fn<(&'a std[3b51380354919863]::panic::PanicHookInfo<'b>,), Output = ()> + core[27de1724e4349be2]::marker::Sync + core[27de1724e4349be2]::marker::Send> as core[27de1724e4349be2]::ops::function::Fn<(&std[3b51380354919863]::panic::PanicHookInfo,)>>::call
[INFO] [stdout]                                at /rustc/0d162b25edd5bf0dba9a22e83b614f1113e90474/library/alloc/src/boxed.rs:2220:9
[INFO] [stdout]   12:     0x6356785f184e - test[182b2e79ecd7bbd9]::test_main_with_exit_callback::<test[182b2e79ecd7bbd9]::test_main::{closure#0}>::{closure#0}
[INFO] [stdout]                                at /rustc/0d162b25edd5bf0dba9a22e83b614f1113e90474/library/test/src/lib.rs:145:21
[INFO] [stdout]   13:     0x635678697ae2 - <alloc[a57f19327c0ad893]::boxed::Box<dyn for<'a, 'b> core[27de1724e4349be2]::ops::function::Fn<(&'a std[3b51380354919863]::panic::PanicHookInfo<'b>,), Output = ()> + core[27de1724e4349be2]::marker::Sync + core[27de1724e4349be2]::marker::Send> as core[27de1724e4349be2]::ops::function::Fn<(&std[3b51380354919863]::panic::PanicHookInfo,)>>::call
[INFO] [stdout]                                at /rustc/0d162b25edd5bf0dba9a22e83b614f1113e90474/library/alloc/src/boxed.rs:2220:9
[INFO] [stdout]   14:     0x635678697ae2 - std[3b51380354919863]::panicking::panic_with_hook
[INFO] [stdout]                                at /rustc/0d162b25edd5bf0dba9a22e83b614f1113e90474/library/std/src/panicking.rs:833:13
[INFO] [stdout]   15:     0x63567867dcd8 - std[3b51380354919863]::panicking::panic_handler::{closure#0}
[INFO] [stdout]                                at /rustc/0d162b25edd5bf0dba9a22e83b614f1113e90474/library/std/src/panicking.rs:698:13
[INFO] [stdout]   16:     0x635678672e59 - std[3b51380354919863]::sys::backtrace::__rust_end_short_backtrace::<std[3b51380354919863]::panicking::panic_handler::{closure#0}, !>
[INFO] [stdout]                                at /rustc/0d162b25edd5bf0dba9a22e83b614f1113e90474/library/std/src/sys/backtrace.rs:182:18
[INFO] [stdout]   17:     0x63567867eb2d - __rustc[d79c0ace40940972]::rust_begin_unwind
[INFO] [stdout]                                at /rustc/0d162b25edd5bf0dba9a22e83b614f1113e90474/library/std/src/panicking.rs:689:5
[INFO] [stdout]   18:     0x6356786b8dfc - core[27de1724e4349be2]::panicking::panic_fmt
[INFO] [stdout]                                at /rustc/0d162b25edd5bf0dba9a22e83b614f1113e90474/library/core/src/panicking.rs:80:14
[INFO] [stdout]   19:     0x6356786b8cb3 - core[27de1724e4349be2]::panicking::assert_failed_inner
[INFO] [stdout]                                at /rustc/0d162b25edd5bf0dba9a22e83b614f1113e90474/library/core/src/panicking.rs:439:17
[INFO] [stdout]   20:     0x635677f4d652 - core[27de1724e4349be2]::panicking::assert_failed::<&str, &str>
[INFO] [stdout]                                at /rustc/0d162b25edd5bf0dba9a22e83b614f1113e90474/library/core/src/panicking.rs:394:5
[INFO] [stdout]   21:     0x635677f4dd26 - test_arrays[1902e2fef393a679]::aidl_generator
[INFO] [stdout]                                at /opt/rustwide/workdir/tests/test_arrays.rs:20:5
[INFO] [stdout]   22:     0x635677f4df4e - test_arrays[1902e2fef393a679]::test_fixed_size_array
[INFO] [stdout]                                at /opt/rustwide/workdir/tests/test_arrays.rs:335:5
[INFO] [stdout]   23:     0x635677f4d737 - test_arrays[1902e2fef393a679]::test_fixed_size_array::{closure#0}
[INFO] [stdout]                                at /opt/rustwide/workdir/tests/test_arrays.rs:334:31
[INFO] [stdout]   24:     0x635677f4ea46 - <test_arrays[1902e2fef393a679]::test_fixed_size_array::{closure#0} as core[27de1724e4349be2]::ops::function::FnOnce<()>>::call_once
[INFO] [stdout]                                at /rustc/0d162b25edd5bf0dba9a22e83b614f1113e90474/library/core/src/ops/function.rs:250:5
[INFO] [stdout]   25:     0x6356785e5bfb - <fn() -> core[27de1724e4349be2]::result::Result<(), alloc[a57f19327c0ad893]::string::String> as core[27de1724e4349be2]::ops::function::FnOnce<()>>::call_once
[INFO] [stdout]                                at /rustc/0d162b25edd5bf0dba9a22e83b614f1113e90474/library/core/src/ops/function.rs:250:5
[INFO] [stdout]   26:     0x6356785e5bfb - test[182b2e79ecd7bbd9]::__rust_begin_short_backtrace::<core[27de1724e4349be2]::result::Result<(), alloc[a57f19327c0ad893]::string::String>, fn() -> core[27de1724e4349be2]::result::Result<(), alloc[a57f19327c0ad893]::string::String>>
[INFO] [stdout]                                at /rustc/0d162b25edd5bf0dba9a22e83b614f1113e90474/library/test/src/lib.rs:663:18
[INFO] [stdout]   27:     0x6356785f245a - test[182b2e79ecd7bbd9]::run_test_in_process::{closure#0}
[INFO] [stdout]                                at /rustc/0d162b25edd5bf0dba9a22e83b614f1113e90474/library/test/src/lib.rs:686:74
[INFO] [stdout]   28:     0x6356785f245a - <core[27de1724e4349be2]::panic::unwind_safe::AssertUnwindSafe<test[182b2e79ecd7bbd9]::run_test_in_process::{closure#0}> as core[27de1724e4349be2]::ops::function::FnOnce<()>>::call_once
[INFO] [stdout]                                at /rustc/0d162b25edd5bf0dba9a22e83b614f1113e90474/library/core/src/panic/unwind_safe.rs:274:9
[INFO] [stdout]   29:     0x6356785f245a - std[3b51380354919863]::panicking::catch_unwind::do_call::<core[27de1724e4349be2]::panic::unwind_safe::AssertUnwindSafe<test[182b2e79ecd7bbd9]::run_test_in_process::{closure#0}>, core[27de1724e4349be2]::result::Result<(), alloc[a57f19327c0ad893]::string::String>>
[INFO] [stdout]                                at /rustc/0d162b25edd5bf0dba9a22e83b614f1113e90474/library/std/src/panicking.rs:581:40
[INFO] [stdout]   30:     0x6356785f245a - std[3b51380354919863]::panicking::catch_unwind::<core[27de1724e4349be2]::result::Result<(), alloc[a57f19327c0ad893]::string::String>, core[27de1724e4349be2]::panic::unwind_safe::AssertUnwindSafe<test[182b2e79ecd7bbd9]::run_test_in_process::{closure#0}>>
[INFO] [stdout]                                at /rustc/0d162b25edd5bf0dba9a22e83b614f1113e90474/library/std/src/panicking.rs:544:19
[INFO] [stdout]   31:     0x6356785f245a - std[3b51380354919863]::panic::catch_unwind::<core[27de1724e4349be2]::panic::unwind_safe::AssertUnwindSafe<test[182b2e79ecd7bbd9]::run_test_in_process::{closure#0}>, core[27de1724e4349be2]::result::Result<(), alloc[a57f19327c0ad893]::string::String>>
[INFO] [stdout]                                at /rustc/0d162b25edd5bf0dba9a22e83b614f1113e90474/library/std/src/panic.rs:359:14
[INFO] [stdout]   32:     0x6356785f245a - test[182b2e79ecd7bbd9]::run_test_in_process
[INFO] [stdout]                                at /rustc/0d162b25edd5bf0dba9a22e83b614f1113e90474/library/test/src/lib.rs:686:27
[INFO] [stdout]   33:     0x6356785f245a - test[182b2e79ecd7bbd9]::run_test::{closure#0}
[INFO] [stdout]                                at /rustc/0d162b25edd5bf0dba9a22e83b614f1113e90474/library/test/src/lib.rs:607:43
[INFO] [stdout]   34:     0x6356785eda04 - test[182b2e79ecd7bbd9]::run_test::{closure#1}
[INFO] [stdout]                                at /rustc/0d162b25edd5bf0dba9a22e83b614f1113e90474/library/test/src/lib.rs:637:41
[INFO] [stdout]   35:     0x6356785eda04 - std[3b51380354919863]::sys::backtrace::__rust_begin_short_backtrace::<test[182b2e79ecd7bbd9]::run_test::{closure#1}, ()>
[INFO] [stdout]                                at /rustc/0d162b25edd5bf0dba9a22e83b614f1113e90474/library/std/src/sys/backtrace.rs:166:18
[INFO] [stdout]   36:     0x6356785f4f52 - std[3b51380354919863]::thread::lifecycle::spawn_unchecked::<test[182b2e79ecd7bbd9]::run_test::{closure#1}, ()>::{closure#1}::{closure#0}
[INFO] [stdout]                                at /rustc/0d162b25edd5bf0dba9a22e83b614f1113e90474/library/std/src/thread/lifecycle.rs:91:13
[INFO] [stdout]   37:     0x6356785f4f52 - <core[27de1724e4349be2]::panic::unwind_safe::AssertUnwindSafe<std[3b51380354919863]::thread::lifecycle::spawn_unchecked<test[182b2e79ecd7bbd9]::run_test::{closure#1}, ()>::{closure#1}::{closure#0}> as core[27de1724e4349be2]::ops::function::FnOnce<()>>::call_once
[INFO] [stdout]                                at /rustc/0d162b25edd5bf0dba9a22e83b614f1113e90474/library/core/src/panic/unwind_safe.rs:274:9
[INFO] [stdout]   38:     0x6356785f4f52 - std[3b51380354919863]::panicking::catch_unwind::do_call::<core[27de1724e4349be2]::panic::unwind_safe::AssertUnwindSafe<std[3b51380354919863]::thread::lifecycle::spawn_unchecked<test[182b2e79ecd7bbd9]::run_test::{closure#1}, ()>::{closure#1}::{closure#0}>, ()>
[INFO] [stdout]                                at /rustc/0d162b25edd5bf0dba9a22e83b614f1113e90474/library/std/src/panicking.rs:581:40
[INFO] [stdout]   39:     0x6356785f4f52 - std[3b51380354919863]::panicking::catch_unwind::<(), core[27de1724e4349be2]::panic::unwind_safe::AssertUnwindSafe<std[3b51380354919863]::thread::lifecycle::spawn_unchecked<test[182b2e79ecd7bbd9]::run_test::{closure#1}, ()>::{closure#1}::{closure#0}>>
[INFO] [stdout]                                at /rustc/0d162b25edd5bf0dba9a22e83b614f1113e90474/library/std/src/panicking.rs:544:19
[INFO] [stdout]   40:     0x6356785f4f52 - std[3b51380354919863]::panic::catch_unwind::<core[27de1724e4349be2]::panic::unwind_safe::AssertUnwindSafe<std[3b51380354919863]::thread::lifecycle::spawn_unchecked<test[182b2e79ecd7bbd9]::run_test::{closure#1}, ()>::{closure#1}::{closure#0}>, ()>
[INFO] [stdout]                                at /rustc/0d162b25edd5bf0dba9a22e83b614f1113e90474/library/std/src/panic.rs:359:14
[INFO] [stdout]   41:     0x6356785f4f52 - std[3b51380354919863]::thread::lifecycle::spawn_unchecked::<test[182b2e79ecd7bbd9]::run_test::{closure#1}, ()>::{closure#1}
[INFO] [stdout]                                at /rustc/0d162b25edd5bf0dba9a22e83b614f1113e90474/library/std/src/thread/lifecycle.rs:89:26
[INFO] [stdout]   42:     0x6356785f4f52 - <std[3b51380354919863]::thread::lifecycle::spawn_unchecked<test[182b2e79ecd7bbd9]::run_test::{closure#1}, ()>::{closure#1} as core[27de1724e4349be2]::ops::function::FnOnce<()>>::call_once::{shim:vtable#0}
[INFO] [stdout]                                at /rustc/0d162b25edd5bf0dba9a22e83b614f1113e90474/library/core/src/ops/function.rs:250:5
[INFO] [stdout]   43:     0x63567869f1bf - <alloc[a57f19327c0ad893]::boxed::Box<dyn core[27de1724e4349be2]::ops::function::FnOnce<(), Output = ()> + core[27de1724e4349be2]::marker::Send> as core[27de1724e4349be2]::ops::function::FnOnce<()>>::call_once
[INFO] [stdout]                                at /rustc/0d162b25edd5bf0dba9a22e83b614f1113e90474/library/alloc/src/boxed.rs:2206:9
[INFO] [stdout]   44:     0x63567869f1bf - <std[3b51380354919863]::sys::thread::unix::Thread>::new::thread_start
[INFO] [stdout]                                at /rustc/0d162b25edd5bf0dba9a22e83b614f1113e90474/library/std/src/sys/thread/unix.rs:119:17
[INFO] [stdout]   45:     0x753ec2d9eaa4 - <unknown>
[INFO] [stdout]   46:     0x753ec2e2ba64 - clone
[INFO] [stdout]   47:                0x0 - <unknown>
[INFO] [stdout] 
[INFO] [stdout] ---- test_nullability stdout ----
[INFO] [stdout]   pub mod ITestService {
[INFO] [stdout]       #![allow(non_upper_case_globals, non_snake_case, dead_code)]
[INFO] [stdout]       pub trait ITestService: rsbinder::Interface + Send {
[INFO] [stdout]           fn descriptor() -> &'static str where Self: Sized { "android.aidl.fixedsizearray.ITestService" }
[INFO] [stdout]           fn r#ReverseBoolean(&self, _arg_input: &[bool], _arg_repeated: &mut Vec<bool>) -> rsbinder::status::Result<Vec<bool>>;
[INFO] [stdout]           fn r#RepeatNullableIntArray(&self, _arg_input: Option<&[i32]>) -> rsbinder::status::Result<Option<Vec<i32>>>;
[INFO] [stdout]           fn r#FillOutStructuredParcelable(&self, _arg_parcel: &mut rsbinder::Strong<dyn StructuredParcelable>) -> rsbinder::status::Result<()>;
[INFO] [stdout]           fn getDefaultImpl() -> Option<ITestServiceDefaultRef> where Self: Sized {
[INFO] [stdout]               DEFAULT_IMPL.get().cloned()
[INFO] [stdout]           }
[INFO] [stdout]           fn setDefaultImpl(d: ITestServiceDefaultRef) -> ITestServiceDefaultRef where Self: Sized {
[INFO] [stdout]               DEFAULT_IMPL.get_or_init(|| d).clone()
[INFO] [stdout]           }
[INFO] [stdout]       }
[INFO] [stdout] +     pub trait ITestServiceAsync<P>: rsbinder::Interface + Send {
[INFO] [stdout] +         fn descriptor() -> &'static str where Self: Sized { "android.aidl.fixedsizearray.ITestService" }
[INFO] [stdout] +         fn r#ReverseBoolean<'a>(&'a self, _arg_input: &'a [bool], _arg_repeated: &'a mut Vec<bool>) -> rsbinder::BoxFuture<'a, rsbinder::status::Result<Vec<bool>>>;
[INFO] [stdout] +         fn r#RepeatNullableIntArray<'a>(&'a self, _arg_input: Option<&'a [i32]>) -> rsbinder::BoxFuture<'a, rsbinder::status::Result<Option<Vec<i32>>>>;
[INFO] [stdout] +         fn r#FillOutStructuredParcelable<'a>(&'a self, _arg_parcel: &'a mut rsbinder::Strong<dyn StructuredParcelable>) -> rsbinder::BoxFuture<'a, rsbinder::status::Result<()>>;
[INFO] [stdout] +     }
[INFO] [stdout] +     #[::async_trait::async_trait]
[INFO] [stdout] +     pub trait ITestServiceAsyncService: rsbinder::Interface + Send {
[INFO] [stdout] +         fn descriptor() -> &'static str where Self: Sized { "android.aidl.fixedsizearray.ITestService" }
[INFO] [stdout] +         async fn r#ReverseBoolean(&self, _arg_input: &[bool], _arg_repeated: &mut Vec<bool>) -> rsbinder::status::Result<Vec<bool>>;
[INFO] [stdout] +         async fn r#RepeatNullableIntArray(&self, _arg_input: Option<&[i32]>) -> rsbinder::status::Result<Option<Vec<i32>>>;
[INFO] [stdout] +         async fn r#FillOutStructuredParcelable(&self, _arg_parcel: &mut rsbinder::Strong<dyn StructuredParcelable>) -> rsbinder::status::Result<()>;
[INFO] [stdout] +     }
[INFO] [stdout] +     impl BnTestService
[INFO] [stdout] +     {
[INFO] [stdout] +         pub fn new_async_binder<T, R>(inner: T, rt: R) -> rsbinder::Strong<dyn ITestService>
[INFO] [stdout] +         where
[INFO] [stdout] +             T: ITestServiceAsyncService + Sync + Send + 'static,
[INFO] [stdout] +             R: rsbinder::BinderAsyncRuntime + Send + Sync + 'static,
[INFO] [stdout] +         {
[INFO] [stdout] +             struct Wrapper<T, R> {
[INFO] [stdout] +                 _inner: T,
[INFO] [stdout] +                 _rt: R,
[INFO] [stdout] +             }
[INFO] [stdout] +             impl<T, R> rsbinder::Interface for Wrapper<T, R> where T: rsbinder::Interface, R: Send + Sync {
[INFO] [stdout] +                 fn as_binder(&self) -> rsbinder::SIBinder { self._inner.as_binder() }
[INFO] [stdout] +                 fn dump(&self, _writer: &mut dyn std::io::Write, _args: &[String]) -> rsbinder::Result<()> { self._inner.dump(_writer, _args) }
[INFO] [stdout] +             }
[INFO] [stdout] +             impl<T, R> BnTestServiceAdapter for Wrapper<T, R>
[INFO] [stdout] +             where
[INFO] [stdout] +                 T: ITestServiceAsyncService + Sync + Send + 'static,
[INFO] [stdout] +                 R: rsbinder::BinderAsyncRuntime + Send + Sync + 'static,
[INFO] [stdout] +             {
[INFO] [stdout] +                 fn as_sync(&self) -> &dyn ITestService {
[INFO] [stdout] +                     self
[INFO] [stdout] +                 }
[INFO] [stdout] +                 fn as_async(&self) -> &dyn ITestServiceAsyncService {
[INFO] [stdout] +                     &self._inner
[INFO] [stdout] +                 }
[INFO] [stdout] +             }
[INFO] [stdout] +             impl<T, R> ITestService for Wrapper<T, R>
[INFO] [stdout] +             where
[INFO] [stdout] +                 T: ITestServiceAsyncService + Sync + Send + 'static,
[INFO] [stdout] +                 R: rsbinder::BinderAsyncRuntime + Send + Sync + 'static,
[INFO] [stdout] +             {
[INFO] [stdout] +                 fn r#ReverseBoolean(&self, _arg_input: &[bool], _arg_repeated: &mut Vec<bool>) -> rsbinder::status::Result<Vec<bool>> {
[INFO] [stdout] +                     self._rt.block_on(self._inner.r#ReverseBoolean(_arg_input, _arg_repeated))
[INFO] [stdout] +                 }
[INFO] [stdout] +                 fn r#RepeatNullableIntArray(&self, _arg_input: Option<&[i32]>) -> rsbinder::status::Result<Option<Vec<i32>>> {
[INFO] [stdout] +                     self._rt.block_on(self._inner.r#RepeatNullableIntArray(_arg_input))
[INFO] [stdout] +                 }
[INFO] [stdout] +                 fn r#FillOutStructuredParcelable(&self, _arg_parcel: &mut rsbinder::Strong<dyn StructuredParcelable>) -> rsbinder::status::Result<()> {
[INFO] [stdout] +                     self._rt.block_on(self._inner.r#FillOutStructuredParcelable(_arg_parcel))
[INFO] [stdout] +                 }
[INFO] [stdout] +             }
[INFO] [stdout] +             let wrapped = Wrapper { _inner: inner, _rt: rt };
[INFO] [stdout] +             let binder = rsbinder::native::Binder::new_with_stability(BnTestService(Box::new(wrapped)), rsbinder::Stability::default());
[INFO] [stdout] +             rsbinder::Strong::new(Box::new(binder))
[INFO] [stdout] +         }
[INFO] [stdout] +     }
[INFO] [stdout]       pub trait ITestServiceDefault: Send + Sync {
[INFO] [stdout]           fn r#ReverseBoolean(&self, _arg_input: &[bool], _arg_repeated: &mut Vec<bool>) -> rsbinder::status::Result<Vec<bool>> {
[INFO] [stdout]               Err(rsbinder::StatusCode::UnknownTransaction.into())
[INFO] [stdout]           }
[INFO] [stdout]           fn r#RepeatNullableIntArray(&self, _arg_input: Option<&[i32]>) -> rsbinder::status::Result<Option<Vec<i32>>> {
[INFO] [stdout]               Err(rsbinder::StatusCode::UnknownTransaction.into())
[INFO] [stdout]           }
[INFO] [stdout]           fn r#FillOutStructuredParcelable(&self, _arg_parcel: &mut rsbinder::Strong<dyn StructuredParcelable>) -> rsbinder::status::Result<()> {
[INFO] [stdout]               Err(rsbinder::StatusCode::UnknownTransaction.into())
[INFO] [stdout]           }
[INFO] [stdout]       }
[INFO] [stdout]       pub(crate) mod transactions {
[INFO] [stdout]           pub(crate) const r#ReverseBoolean: rsbinder::TransactionCode = rsbinder::FIRST_CALL_TRANSACTION + 0;
[INFO] [stdout]           pub(crate) const r#RepeatNullableIntArray: rsbinder::TransactionCode = rsbinder::FIRST_CALL_TRANSACTION + 1;
[INFO] [stdout]           pub(crate) const r#FillOutStructuredParcelable: rsbinder::TransactionCode = rsbinder::FIRST_CALL_TRANSACTION + 2;
[INFO] [stdout]       }
[INFO] [stdout]       pub type ITestServiceDefaultRef = std::sync::Arc<dyn ITestServiceDefault>;
[INFO] [stdout]       static DEFAULT_IMPL: std::sync::OnceLock<ITestServiceDefaultRef> = std::sync::OnceLock::new();
[INFO] [stdout]       rsbinder::declare_binder_interface! {
[INFO] [stdout]           ITestService["android.aidl.fixedsizearray.ITestService"] {
[INFO] [stdout]               native: {
[INFO] [stdout]                   BnTestService(on_transact),
[INFO] [stdout] +                 adapter: BnTestServiceAdapter,
[INFO] [stdout] +                 r#async: ITestServiceAsyncService,
[INFO] [stdout]               },
[INFO] [stdout]               proxy: BpTestService,
[INFO] [stdout] +             r#async: ITestServiceAsync,
[INFO] [stdout]           }
[INFO] [stdout]       }
[INFO] [stdout]       impl BpTestService {
[INFO] [stdout]           fn build_parcel_ReverseBoolean(&self, _arg_input: &[bool], _arg_repeated: &mut Vec<bool>) -> rsbinder::Result<rsbinder::Parcel> {
[INFO] [stdout]               let mut data = self.binder.as_proxy().unwrap().prepare_transact(true)?;
[INFO] [stdout]               data.write(_arg_input)?;
[INFO] [stdout]               data.write_slice_size(Some(_arg_repeated))?;
[INFO] [stdout]               Ok(data)
[INFO] [stdout]           }
[INFO] [stdout]           fn read_response_ReverseBoolean(&self, _arg_input: &[bool], _arg_repeated: &mut Vec<bool>, _aidl_reply: rsbinder::Result<Option<rsbinder::Parcel>>) -> rsbinder::status::Result<Vec<bool>> {
[INFO] [stdout]               if let Err(rsbinder::StatusCode::UnknownTransaction) = _aidl_reply {
[INFO] [stdout]                   if let Some(_aidl_default_impl) = <Self as ITestService>::getDefaultImpl() {
[INFO] [stdout]                     return _aidl_default_impl.r#ReverseBoolean(_arg_input, _arg_repeated);
[INFO] [stdout]                   }
[INFO] [stdout]               }
[INFO] [stdout]               let mut _aidl_reply = _aidl_reply?.ok_or(rsbinder::StatusCode::UnexpectedNull)?;
[INFO] [stdout]               let _status = _aidl_reply.read::<rsbinder::Status>()?;
[INFO] [stdout]               if !_status.is_ok() { return Err(_status); }
[INFO] [stdout]               let _aidl_return: Vec<bool> = _aidl_reply.read()?;
[INFO] [stdout]               _aidl_reply.read_onto(_arg_repeated)?;
[INFO] [stdout]               Ok(_aidl_return)
[INFO] [stdout]           }
[INFO] [stdout]           fn build_parcel_RepeatNullableIntArray(&self, _arg_input: Option<&[i32]>) -> rsbinder::Result<rsbinder::Parcel> {
[INFO] [stdout]               let mut data = self.binder.as_proxy().unwrap().prepare_transact(true)?;
[INFO] [stdout]               data.write(&_arg_input)?;
[INFO] [stdout]               Ok(data)
[INFO] [stdout]           }
[INFO] [stdout]           fn read_response_RepeatNullableIntArray(&self, _arg_input: Option<&[i32]>, _aidl_reply: rsbinder::Result<Option<rsbinder::Parcel>>) -> rsbinder::status::Result<Option<Vec<i32>>> {
[INFO] [stdout]               if let Err(rsbinder::StatusCode::UnknownTransaction) = _aidl_reply {
[INFO] [stdout]                   if let Some(_aidl_default_impl) = <Self as ITestService>::getDefaultImpl() {
[INFO] [stdout]                     return _aidl_default_impl.r#RepeatNullableIntArray(_arg_input);
[INFO] [stdout]                   }
[INFO] [stdout]               }
[INFO] [stdout]               let mut _aidl_reply = _aidl_reply?.ok_or(rsbinder::StatusCode::UnexpectedNull)?;
[INFO] [stdout]               let _status = _aidl_reply.read::<rsbinder::Status>()?;
[INFO] [stdout]               if !_status.is_ok() { return Err(_status); }
[INFO] [stdout]               let _aidl_return: Option<Vec<i32>> = _aidl_reply.read()?;
[INFO] [stdout]               Ok(_aidl_return)
[INFO] [stdout]           }
[INFO] [stdout]           fn build_parcel_FillOutStructuredParcelable(&self, _arg_parcel: &mut rsbinder::Strong<dyn StructuredParcelable>) -> rsbinder::Result<rsbinder::Parcel> {
[INFO] [stdout]               let mut data = self.binder.as_proxy().unwrap().prepare_transact(true)?;
[INFO] [stdout]               data.write(_arg_parcel)?;
[INFO] [stdout]               Ok(data)
[INFO] [stdout]           }
[INFO] [stdout]           fn read_response_FillOutStructuredParcelable(&self, _arg_parcel: &mut rsbinder::Strong<dyn StructuredParcelable>, _aidl_reply: rsbinder::Result<Option<rsbinder::Parcel>>) -> rsbinder::status::Result<()> {
[INFO] [stdout]               if let Err(rsbinder::StatusCode::UnknownTransaction) = _aidl_reply {
[INFO] [stdout]                   if let Some(_aidl_default_impl) = <Self as ITestService>::getDefaultImpl() {
[INFO] [stdout]                     return _aidl_default_impl.r#FillOutStructuredParcelable(_arg_parcel);
[INFO] [stdout]                   }
[INFO] [stdout]               }
[INFO] [stdout]               let mut _aidl_reply = _aidl_reply?.ok_or(rsbinder::StatusCode::UnexpectedNull)?;
[INFO] [stdout]               let _status = _aidl_reply.read::<rsbinder::Status>()?;
[INFO] [stdout]               if !_status.is_ok() { return Err(_status); }
[INFO] [stdout]               _aidl_reply.read_onto(_arg_parcel)?;
[INFO] [stdout]               Ok(())
[INFO] [stdout]           }
[INFO] [stdout]       }
[INFO] [stdout]       impl ITestService for BpTestService {
[INFO] [stdout]           fn r#ReverseBoolean(&self, _arg_input: &[bool], _arg_repeated: &mut Vec<bool>) -> rsbinder::status::Result<Vec<bool>> {
[INFO] [stdout]               let _aidl_data = self.build_parcel_ReverseBoolean(_arg_input, _arg_repeated)?;
[INFO] [stdout]               let _aidl_reply = self.binder.as_proxy().unwrap().submit_transact(transactions::r#ReverseBoolean, &_aidl_data, rsbinder::FLAG_CLEAR_BUF);
[INFO] [stdout]               self.read_response_ReverseBoolean(_arg_input, _arg_repeated, _aidl_reply)
[INFO] [stdout]           }
[INFO] [stdout]           fn r#RepeatNullableIntArray(&self, _arg_input: Option<&[i32]>) -> rsbinder::status::Result<Option<Vec<i32>>> {
[INFO] [stdout]               let _aidl_data = self.build_parcel_RepeatNullableIntArray(_arg_input)?;
[INFO] [stdout]               let _aidl_reply = self.binder.as_proxy().unwrap().submit_transact(transactions::r#RepeatNullableIntArray, &_aidl_data, rsbinder::FLAG_CLEAR_BUF);
[INFO] [stdout]               self.read_response_RepeatNullableIntArray(_arg_input, _aidl_reply)
[INFO] [stdout]           }
[INFO] [stdout]           fn r#FillOutStructuredParcelable(&self, _arg_parcel: &mut rsbinder::Strong<dyn StructuredParcelable>) -> rsbinder::status::Result<()> {
[INFO] [stdout]               let _aidl_data = self.build_parcel_FillOutStructuredParcelable(_arg_parcel)?;
[INFO] [stdout]               let _aidl_reply = self.binder.as_proxy().unwrap().submit_transact(transactions::r#FillOutStructuredParcelable, &_aidl_data, rsbinder::FLAG_CLEAR_BUF);
[INFO] [stdout]               self.read_response_FillOutStructuredParcelable(_arg_parcel, _aidl_reply)
[INFO] [stdout]           }
[INFO] [stdout]       }
[INFO] [stdout] +     impl<P: rsbinder::BinderAsyncPool> ITestServiceAsync<P> for BpTestService {
[INFO] [stdout] +         fn r#ReverseBoolean<'a>(&'a self, _arg_input: &'a [bool], _arg_repeated: &'a mut Vec<bool>) -> rsbinder::BoxFuture<'a, rsbinder::status::Result<Vec<bool>>> {
[INFO] [stdout] +             let _aidl_data = match self.build_parcel_ReverseBoolean(_arg_input, _arg_repeated) {
[INFO] [stdout] +                 Ok(_aidl_data) => _aidl_data,
[INFO] [stdout] +                 Err(err) => return Box::pin(std::future::ready(Err(err.into()))),
[INFO] [stdout] +             };
[INFO] [stdout] +             let binder = self.binder.clone();
[INFO] [stdout] +             P::spawn(
[INFO] [stdout] +                 move || binder.as_proxy().unwrap().submit_transact(transactions::r#ReverseBoolean, &_aidl_data, rsbinder::FLAG_CLEAR_BUF | rsbinder::FLAG_PRIVATE_LOCAL),
[INFO] [stdout] +                 move |_aidl_reply| async move {
[INFO] [stdout] +                     self.read_response_ReverseBoolean(_arg_input, _arg_repeated, _aidl_reply)
[INFO] [stdout] +                 }
[INFO] [stdout] +             )
[INFO] [stdout] +         }
[INFO] [stdout] +         fn r#RepeatNullableIntArray<'a>(&'a self, _arg_input: Option<&'a [i32]>) -> rsbinder::BoxFuture<'a, rsbinder::status::Result<Option<Vec<i32>>>> {
[INFO] [stdout] +             let _aidl_data = match self.build_parcel_RepeatNullableIntArray(_arg_input) {
[INFO] [stdout] +                 Ok(_aidl_data) => _aidl_data,
[INFO] [stdout] +                 Err(err) => return Box::pin(std::future::ready(Err(err.into()))),
[INFO] [stdout] +             };
[INFO] [stdout] +             let binder = self.binder.clone();
[INFO] [stdout] +             P::spawn(
[INFO] [stdout] +                 move || binder.as_proxy().unwrap().submit_transact(transactions::r#RepeatNullableIntArray, &_aidl_data, rsbinder::FLAG_CLEAR_BUF | rsbinder::FLAG_PRIVATE_LOCAL),
[INFO] [stdout] +                 move |_aidl_reply| async move {
[INFO] [stdout] +                     self.read_response_RepeatNullableIntArray(_arg_input, _aidl_reply)
[INFO] [stdout] +                 }
[INFO] [stdout] +             )
[INFO] [stdout] +         }
[INFO] [stdout] +         fn r#FillOutStructuredParcelable<'a>(&'a self, _arg_parcel: &'a mut rsbinder::Strong<dyn StructuredParcelable>) -> rsbinder::BoxFuture<'a, rsbinder::status::Result<()>> {
[INFO] [stdout] +             let _aidl_data = match self.build_parcel_FillOutStructuredParcelable(_arg_parcel) {
[INFO] [stdout] +                 Ok(_aidl_data) => _aidl_data,
[INFO] [stdout] +                 Err(err) => return Box::pin(std::future::ready(Err(err.into()))),
[INFO] [stdout] +             };
[INFO] [stdout] +             let binder = self.binder.clone();
[INFO] [stdout] +             P::spawn(
[INFO] [stdout] +                 move || binder.as_proxy().unwrap().submit_transact(transactions::r#FillOutStructuredParcelable, &_aidl_data, rsbinder::FLAG_CLEAR_BUF | rsbinder::FLAG_PRIVATE_LOCAL),
[INFO] [stdout] +                 move |_aidl_reply| async move {
[INFO] [stdout] +                     self.read_response_FillOutStructuredParcelable(_arg_parcel, _aidl_reply)
[INFO] [stdout] +                 }
[INFO] [stdout] +             )
[INFO] [stdout] +         }
[INFO] [stdout] +     }
[INFO] [stdout] +     impl<P: rsbinder::BinderAsyncPool> ITestServiceAsync<P> for rsbinder::Binder<BnTestService>
[INFO] [stdout] +     {
[INFO] [stdout] +         fn r#ReverseBoolean<'a>(&'a self, _arg_input: &'a [bool], _arg_repeated: &'a mut Vec<bool>) -> rsbinder::BoxFuture<'a, rsbinder::status::Result<Vec<bool>>> {
[INFO] [stdout] +             self.0.as_async().r#ReverseBoolean(_arg_input, _arg_repeated)
[INFO] [stdout] +         }
[INFO] [stdout] +         fn r#RepeatNullableIntArray<'a>(&'a self, _arg_input: Option<&'a [i32]>) -> rsbinder::BoxFuture<'a, rsbinder::status::Result<Option<Vec<i32>>>> {
[INFO] [stdout] +             self.0.as_async().r#RepeatNullableIntArray(_arg_input)
[INFO] [stdout] +         }
[INFO] [stdout] +         fn r#FillOutStructuredParcelable<'a>(&'a self, _arg_parcel: &'a mut rsbinder::Strong<dyn StructuredParcelable>) -> rsbinder::BoxFuture<'a, rsbinder::status::Result<()>> {
[INFO] [stdout] +             self.0.as_async().r#FillOutStructuredParcelable(_arg_parcel)
[INFO] [stdout] +         }
[INFO] [stdout] +     }
[INFO] [stdout]       impl ITestService for rsbinder::Binder<BnTestService> {
[INFO] [stdout]           fn r#ReverseBoolean(&self, _arg_input: &[bool], _arg_repeated: &mut Vec<bool>) -> rsbinder::status::Result<Vec<bool>> {
[INFO] [stdout] -             self.0.r#ReverseBoolean(_arg_input, _arg_repeated)
[INFO] [stdout] +             self.0.as_sync().r#ReverseBoolean(_arg_input, _arg_repeated)
[INFO] [stdout]           }
[INFO] [stdout]           fn r#RepeatNullableIntArray(&self, _arg_input: Option<&[i32]>) -> rsbinder::status::Result<Option<Vec<i32>>> {
[INFO] [stdout] -             self.0.r#RepeatNullableIntArray(_arg_input)
[INFO] [stdout] +             self.0.as_sync().r#RepeatNullableIntArray(_arg_input)
[INFO] [stdout]           }
[INFO] [stdout]           fn r#FillOutStructuredParcelable(&self, _arg_parcel: &mut rsbinder::Strong<dyn StructuredParcelable>) -> rsbinder::status::Result<()> {
[INFO] [stdout] -             self.0.r#FillOutStructuredParcelable(_arg_parcel)
[INFO] [stdout] +             self.0.as_sync().r#FillOutStructuredParcelable(_arg_parcel)
[INFO] [stdout]           }
[INFO] [stdout]       }
[INFO] [stdout]       fn on_transact(
[INFO] [stdout]           _service: &dyn ITestService, _code: rsbinder::TransactionCode, _reader: &mut rsbinder::Parcel, _reply: &mut rsbinder::Parcel) -> rsbinder::Result<()> {
[INFO] [stdout]           match _code {
[INFO] [stdout]               transactions::r#ReverseBoolean => {
[INFO] [stdout]                   let _arg_input: Vec<bool> = _reader.read()?;
[INFO] [stdout]                   let mut _arg_repeated: Vec<bool> = Default::default();
[INFO] [stdout]                   _reader.resize_out_vec(&mut _arg_repeated)?;
[INFO] [stdout]                   let _aidl_return = _service.r#ReverseBoolean(&_arg_input, &mut _arg_repeated);
[INFO] [stdout]                   match &_aidl_return {
[INFO] [stdout]                       Ok(_aidl_return) => {
[INFO] [stdout]                           _reply.write(&rsbinder::Status::from(rsbinder::StatusCode::Ok))?;
[INFO] [stdout]                           _reply.write(_aidl_return)?;
[INFO] [stdout]                           _reply.write(&_arg_repeated)?;
[INFO] [stdout]                       }
[INFO] [stdout]                       Err(_aidl_status) => {
[INFO] [stdout]                           _reply.write(_aidl_status)?;
[INFO] [stdout]                       }
[INFO] [stdout]                   }
[INFO] [stdout]                   Ok(())
[INFO] [stdout]               }
[INFO] [stdout]               transactions::r#RepeatNullableIntArray => {
[INFO] [stdout]                   let _arg_input: Option<Vec<i32>> = _reader.read()?;
[INFO] [stdout]                   let _aidl_return = _service.r#RepeatNullableIntArray(_arg_input.as_deref());
[INFO] [stdout]                   match &_aidl_return {
[INFO] [stdout]                       Ok(_aidl_return) => {
[INFO] [stdout]                           _reply.write(&rsbinder::Status::from(rsbinder::StatusCode::Ok))?;
[INFO] [stdout]                           _reply.write(_aidl_return)?;
[INFO] [stdout]                       }
[INFO] [stdout]                       Err(_aidl_status) => {
[INFO] [stdout]                           _reply.write(_aidl_status)?;
[INFO] [stdout]                       }
[INFO] [stdout]                   }
[INFO] [stdout]                   Ok(())
[INFO] [stdout]               }
[INFO] [stdout]               transactions::r#FillOutStructuredParcelable => {
[INFO] [stdout]                   let mut _arg_parcel: rsbinder::Strong<dyn StructuredParcelable> = _reader.read()?;
[INFO] [stdout]                   let _aidl_return = _service.r#FillOutStructuredParcelable(&mut _arg_parcel);
[INFO] [stdout]                   match &_aidl_return {
[INFO] [stdout]                       Ok(_aidl_return) => {
[INFO] [stdout]                           _reply.write(&rsbinder::Status::from(rsbinder::StatusCode::Ok))?;
[INFO] [stdout]                           _reply.write(&_arg_parcel)?;
[INFO] [stdout]                       }
[INFO] [stdout]                       Err(_aidl_status) => {
[INFO] [stdout]                           _reply.write(_aidl_status)?;
[INFO] [stdout]                       }
[INFO] [stdout]                   }
[INFO] [stdout]                   Ok(())
[INFO] [stdout]               }
[INFO] [stdout]               _ => Err(rsbinder::StatusCode::UnknownTransaction),
[INFO] [stdout]           }
[INFO] [stdout]       }
[INFO] [stdout]   }
[INFO] [stdout] 
[INFO] [stdout] thread 'test_nullability' (38) panicked at tests/test_arrays.rs:20:5:
[INFO] [stdout] assertion `left == right` failed
[INFO] [stdout]   left: "pub mod ITestService {\n    #![allow(non_upper_case_globals, non_snake_case, dead_code)]\n    pub trait ITestService: rsbinder::Interface + Send {\n        fn descriptor() -> &'static str where Self: Sized { \"android.aidl.fixedsizearray.ITestService\" }\n        fn r#ReverseBoolean(&self, _arg_input: &[bool], _arg_repeated: &mut Vec<bool>) -> rsbinder::status::Result<Vec<bool>>;\n        fn r#RepeatNullableIntArray(&self, _arg_input: Option<&[i32]>) -> rsbinder::status::Result<Option<Vec<i32>>>;\n        fn r#FillOutStructuredParcelable(&self, _arg_parcel: &mut rsbinder::Strong<dyn StructuredParcelable>) -> rsbinder::status::Result<()>;\n        fn getDefaultImpl() -> Option<ITestServiceDefaultRef> where Self: Sized {\n            DEFAULT_IMPL.get().cloned()\n        }\n        fn setDefaultImpl(d: ITestServiceDefaultRef) -> ITestServiceDefaultRef where Self: Sized {\n            DEFAULT_IMPL.get_or_init(|| d).clone()\n        }\n    }\n    pub trait ITestServiceDefault: Send + Sync {\n        fn r#ReverseBoolean(&self, _arg_input: &[bool], _arg_repeated: &mut Vec<bool>) -> rsbinder::status::Result<Vec<bool>> {\n            Err(rsbinder::StatusCode::UnknownTransaction.into())\n        }\n        fn r#RepeatNullableIntArray(&self, _arg_input: Option<&[i32]>) -> rsbinder::status::Result<Option<Vec<i32>>> {\n            Err(rsbinder::StatusCode::UnknownTransaction.into())\n        }\n        fn r#FillOutStructuredParcelable(&self, _arg_parcel: &mut rsbinder::Strong<dyn StructuredParcelable>) -> rsbinder::status::Result<()> {\n            Err(rsbinder::StatusCode::UnknownTransaction.into())\n        }\n    }\n    pub(crate) mod transactions {\n        pub(crate) const r#ReverseBoolean: rsbinder::TransactionCode = rsbinder::FIRST_CALL_TRANSACTION + 0;\n        pub(crate) const r#RepeatNullableIntArray: rsbinder::TransactionCode = rsbinder::FIRST_CALL_TRANSACTION + 1;\n        pub(crate) const r#FillOutStructuredParcelable: rsbinder::TransactionCode = rsbinder::FIRST_CALL_TRANSACTION + 2;\n    }\n    pub type ITestServiceDefaultRef = std::sync::Arc<dyn ITestServiceDefault>;\n    static DEFAULT_IMPL: std::sync::OnceLock<ITestServiceDefaultRef> = std::sync::OnceLock::new();\n    rsbinder::declare_binder_interface! {\n        ITestService[\"android.aidl.fixedsizearray.ITestService\"] {\n            native: {\n                BnTestService(on_transact),\n            },\n            proxy: BpTestService,\n        }\n    }\n    impl BpTestService {\n        fn build_parcel_ReverseBoolean(&self, _arg_input: &[bool], _arg_repeated: &mut Vec<bool>) -> rsbinder::Result<rsbinder::Parcel> {\n            let mut data = self.binder.as_proxy().unwrap().prepare_transact(true)?;\n            data.write(_arg_input)?;\n            data.write_slice_size(Some(_arg_repeated))?;\n            Ok(data)\n        }\n        fn read_response_ReverseBoolean(&self, _arg_input: &[bool], _arg_repeated: &mut Vec<bool>, _aidl_reply: rsbinder::Result<Option<rsbinder::Parcel>>) -> rsbinder::status::Result<Vec<bool>> {\n            if let Err(rsbinder::StatusCode::UnknownTransaction) = _aidl_reply {\n                if let Some(_aidl_default_impl) = <Self as ITestService>::getDefaultImpl() {\n                  return _aidl_default_impl.r#ReverseBoolean(_arg_input, _arg_repeated);\n                }\n            }\n            let mut _aidl_reply = _aidl_reply?.ok_or(rsbinder::StatusCode::UnexpectedNull)?;\n            let _status = _aidl_reply.read::<rsbinder::Status>()?;\n            if !_status.is_ok() { return Err(_status); }\n            let _aidl_return: Vec<bool> = _aidl_reply.read()?;\n            _aidl_reply.read_onto(_arg_repeated)?;\n            Ok(_aidl_return)\n        }\n        fn build_parcel_RepeatNullableIntArray(&self, _arg_input: Option<&[i32]>) -> rsbinder::Result<rsbinder::Parcel> {\n            let mut data = self.binder.as_proxy().unwrap().prepare_transact(true)?;\n            data.write(&_arg_input)?;\n            Ok(data)\n        }\n        fn read_response_RepeatNullableIntArray(&self, _arg_input: Option<&[i32]>, _aidl_reply: rsbinder::Result<Option<rsbinder::Parcel>>) -> rsbinder::status::Result<Option<Vec<i32>>> {\n            if let Err(rsbinder::StatusCode::UnknownTransaction) = _aidl_reply {\n                if let Some(_aidl_default_impl) = <Self as ITestService>::getDefaultImpl() {\n                  return _aidl_default_impl.r#RepeatNullableIntArray(_arg_input);\n                }\n            }\n            let mut _aidl_reply = _aidl_reply?.ok_or(rsbinder::StatusCode::UnexpectedNull)?;\n            let _status = _aidl_reply.read::<rsbinder::Status>()?;\n            if !_status.is_ok() { return Err(_status); }\n            let _aidl_return: Option<Vec<i32>> = _aidl_reply.read()?;\n            Ok(_aidl_return)\n        }\n        fn build_parcel_FillOutStructuredParcelable(&self, _arg_parcel: &mut rsbinder::Strong<dyn StructuredParcelable>) -> rsbinder::Result<rsbinder::Parcel> {\n            let mut data = self.binder.as_proxy().unwrap().prepare_transact(true)?;\n            data.write(_arg_parcel)?;\n            Ok(data)\n        }\n        fn read_response_FillOutStructuredParcelable(&self, _arg_parcel: &mut rsbinder::Strong<dyn StructuredParcelable>, _aidl_reply: rsbinder::Result<Option<rsbinder::Parcel>>) -> rsbinder::status::Result<()> {\n            if let Err(rsbinder::StatusCode::UnknownTransaction) = _aidl_reply {\n                if let Some(_aidl_default_impl) = <Self as ITestService>::getDefaultImpl() {\n                  return _aidl_default_impl.r#FillOutStructuredParcelable(_arg_parcel);\n                }\n            }\n            let mut _aidl_reply = _aidl_reply?.ok_or(rsbinder::StatusCode::UnexpectedNull)?;\n            let _status = _aidl_reply.read::<rsbinder::Status>()?;\n            if !_status.is_ok() { return Err(_status); }\n            _aidl_reply.read_onto(_arg_parcel)?;\n            Ok(())\n        }\n    }\n    impl ITestService for BpTestService {\n        fn r#ReverseBoolean(&self, _arg_input: &[bool], _arg_repeated: &mut Vec<bool>) -> rsbinder::status::Result<Vec<bool>> {\n            let _aidl_data = self.build_parcel_ReverseBoolean(_arg_input, _arg_repeated)?;\n            let _aidl_reply = self.binder.as_proxy().unwrap().submit_transact(transactions::r#ReverseBoolean, &_aidl_data, rsbinder::FLAG_CLEAR_BUF);\n            self.read_response_ReverseBoolean(_arg_input, _arg_repeated, _aidl_reply)\n        }\n        fn r#RepeatNullableIntArray(&self, _arg_input: Option<&[i32]>) -> rsbinder::status::Result<Option<Vec<i32>>> {\n            let _aidl_data = self.build_parcel_RepeatNullableIntArray(_arg_input)?;\n            let _aidl_reply = self.binder.as_proxy().unwrap().submit_transact(transactions::r#RepeatNullableIntArray, &_aidl_data, rsbinder::FLAG_CLEAR_BUF);\n            self.read_response_RepeatNullableIntArray(_arg_input, _aidl_reply)\n        }\n        fn r#FillOutStructuredParcelable(&self, _arg_parcel: &mut rsbinder::Strong<dyn StructuredParcelable>) -> rsbinder::status::Result<()> {\n            let _aidl_data = self.build_parcel_FillOutStructuredParcelable(_arg_parcel)?;\n            let _aidl_reply = self.binder.as_proxy().unwrap().submit_transact(transactions::r#FillOutStructuredParcelable, &_aidl_data, rsbinder::FLAG_CLEAR_BUF);\n            self.read_response_FillOutStructuredParcelable(_arg_parcel, _aidl_reply)\n        }\n    }\n    impl ITestService for rsbinder::Binder<BnTestService> {\n        fn r#ReverseBoolean(&self, _arg_input: &[bool], _arg_repeated: &mut Vec<bool>) -> rsbinder::status::Result<Vec<bool>> {\n            self.0.r#ReverseBoolean(_arg_input, _arg_repeated)\n        }\n        fn r#RepeatNullableIntArray(&self, _arg_input: Option<&[i32]>) -> rsbinder::status::Result<Option<Vec<i32>>> {\n            self.0.r#RepeatNullableIntArray(_arg_input)\n        }\n        fn r#FillOutStructuredParcelable(&self, _arg_parcel: &mut rsbinder::Strong<dyn StructuredParcelable>) -> rsbinder::status::Result<()> {\n            self.0.r#FillOutStructuredParcelable(_arg_parcel)\n        }\n    }\n    fn on_transact(\n        _service: &dyn ITestService, _code: rsbinder::TransactionCode, _reader: &mut rsbinder::Parcel, _reply: &mut rsbinder::Parcel) -> rsbinder::Result<()> {\n        match _code {\n            transactions::r#ReverseBoolean => {\n                let _arg_input: Vec<bool> = _reader.read()?;\n                let mut _arg_repeated: Vec<bool> = Default::default();\n                _reader.resize_out_vec(&mut _arg_repeated)?;\n                let _aidl_return = _service.r#ReverseBoolean(&_arg_input, &mut _arg_repeated);\n                match &_aidl_return {\n                    Ok(_aidl_return) => {\n                        _reply.write(&rsbinder::Status::from(rsbinder::StatusCode::Ok))?;\n                        _reply.write(_aidl_return)?;\n                        _reply.write(&_arg_repeated)?;\n                    }\n                    Err(_aidl_status) => {\n                        _reply.write(_aidl_status)?;\n                    }\n                }\n                Ok(())\n            }\n            transactions::r#RepeatNullableIntArray => {\n                let _arg_input: Option<Vec<i32>> = _reader.read()?;\n                let _aidl_return = _service.r#RepeatNullableIntArray(_arg_input.as_deref());\n                match &_aidl_return {\n                    Ok(_aidl_return) => {\n                        _reply.write(&rsbinder::Status::from(rsbinder::StatusCode::Ok))?;\n                        _reply.write(_aidl_return)?;\n                    }\n                    Err(_aidl_status) => {\n                        _reply.write(_aidl_status)?;\n                    }\n                }\n                Ok(())\n            }\n            transactions::r#FillOutStructuredParcelable => {\n                let mut _arg_parcel: rsbinder::Strong<dyn StructuredParcelable> = _reader.read()?;\n                let _aidl_return = _service.r#FillOutStructuredParcelable(&mut _arg_parcel);\n                match &_aidl_return {\n                    Ok(_aidl_return) => {\n                        _reply.write(&rsbinder::Status::from(rsbinder::StatusCode::Ok))?;\n                        _reply.write(&_arg_parcel)?;\n                    }\n                    Err(_aidl_status) => {\n                        _reply.write(_aidl_status)?;\n                    }\n                }\n                Ok(())\n            }\n            _ => Err(rsbinder::StatusCode::UnknownTransaction),\n        }\n    }\n}"
[INFO] [stdout]  right: "pub mod ITestService {\n    #![allow(non_upper_case_globals, non_snake_case, dead_code)]\n    pub trait ITestService: rsbinder::Interface + Send {\n        fn descriptor() -> &'static str where Self: Sized { \"android.aidl.fixedsizearray.ITestService\" }\n        fn r#ReverseBoolean(&self, _arg_input: &[bool], _arg_repeated: &mut Vec<bool>) -> rsbinder::status::Result<Vec<bool>>;\n        fn r#RepeatNullableIntArray(&self, _arg_input: Option<&[i32]>) -> rsbinder::status::Result<Option<Vec<i32>>>;\n        fn r#FillOutStructuredParcelable(&self, _arg_parcel: &mut rsbinder::Strong<dyn StructuredParcelable>) -> rsbinder::status::Result<()>;\n        fn getDefaultImpl() -> Option<ITestServiceDefaultRef> where Self: Sized {\n            DEFAULT_IMPL.get().cloned()\n        }\n        fn setDefaultImpl(d: ITestServiceDefaultRef) -> ITestServiceDefaultRef where Self: Sized {\n            DEFAULT_IMPL.get_or_init(|| d).clone()\n        }\n    }\n    pub trait ITestServiceAsync<P>: rsbinder::Interface + Send {\n        fn descriptor() -> &'static str where Self: Sized { \"android.aidl.fixedsizearray.ITestService\" }\n        fn r#ReverseBoolean<'a>(&'a self, _arg_input: &'a [bool], _arg_repeated: &'a mut Vec<bool>) -> rsbinder::BoxFuture<'a, rsbinder::status::Result<Vec<bool>>>;\n        fn r#RepeatNullableIntArray<'a>(&'a self, _arg_input: Option<&'a [i32]>) -> rsbinder::BoxFuture<'a, rsbinder::status::Result<Option<Vec<i32>>>>;\n        fn r#FillOutStructuredParcelable<'a>(&'a self, _arg_parcel: &'a mut rsbinder::Strong<dyn StructuredParcelable>) -> rsbinder::BoxFuture<'a, rsbinder::status::Result<()>>;\n    }\n    #[::async_trait::async_trait]\n    pub trait ITestServiceAsyncService: rsbinder::Interface + Send {\n        fn descriptor() -> &'static str where Self: Sized { \"android.aidl.fixedsizearray.ITestService\" }\n        async fn r#ReverseBoolean(&self, _arg_input: &[bool], _arg_repeated: &mut Vec<bool>) -> rsbinder::status::Result<Vec<bool>>;\n        async fn r#RepeatNullableIntArray(&self, _arg_input: Option<&[i32]>) -> rsbinder::status::Result<Option<Vec<i32>>>;\n        async fn r#FillOutStructuredParcelable(&self, _arg_parcel: &mut rsbinder::Strong<dyn StructuredParcelable>) -> rsbinder::status::Result<()>;\n    }\n    impl BnTestService\n    {\n        pub fn new_async_binder<T, R>(inner: T, rt: R) -> rsbinder::Strong<dyn ITestService>\n        where\n            T: ITestServiceAsyncService + Sync + Send + 'static,\n            R: rsbinder::BinderAsyncRuntime + Send + Sync + 'static,\n        {\n            struct Wrapper<T, R> {\n                _inner: T,\n                _rt: R,\n            }\n            impl<T, R> rsbinder::Interface for Wrapper<T, R> where T: rsbinder::Interface, R: Send + Sync {\n                fn as_binder(&self) -> rsbinder::SIBinder { self._inner.as_binder() }\n                fn dump(&self, _writer: &mut dyn std::io::Write, _args: &[String]) -> rsbinder::Result<()> { self._inner.dump(_writer, _args) }\n            }\n            impl<T, R> BnTestServiceAdapter for Wrapper<T, R>\n            where\n                T: ITestServiceAsyncService + Sync + Send + 'static,\n                R: rsbinder::BinderAsyncRuntime + Send + Sync + 'static,\n            {\n                fn as_sync(&self) -> &dyn ITestService {\n                    self\n                }\n                fn as_async(&self) -> &dyn ITestServiceAsyncService {\n                    &self._inner\n                }\n            }\n            impl<T, R> ITestService for Wrapper<T, R>\n            where\n                T: ITestServiceAsyncService + Sync + Send + 'static,\n                R: rsbinder::BinderAsyncRuntime + Send + Sync + 'static,\n            {\n                fn r#ReverseBoolean(&self, _arg_input: &[bool], _arg_repeated: &mut Vec<bool>) -> rsbinder::status::Result<Vec<bool>> {\n                    self._rt.block_on(self._inner.r#ReverseBoolean(_arg_input, _arg_repeated))\n                }\n                fn r#RepeatNullableIntArray(&self, _arg_input: Option<&[i32]>) -> rsbinder::status::Result<Option<Vec<i32>>> {\n                    self._rt.block_on(self._inner.r#RepeatNullableIntArray(_arg_input))\n                }\n                fn r#FillOutStructuredParcelable(&self, _arg_parcel: &mut rsbinder::Strong<dyn StructuredParcelable>) -> rsbinder::status::Result<()> {\n                    self._rt.block_on(self._inner.r#FillOutStructuredParcelable(_arg_parcel))\n                }\n            }\n            let wrapped = Wrapper { _inner: inner, _rt: rt };\n            let binder = rsbinder::native::Binder::new_with_stability(BnTestService(Box::new(wrapped)), rsbinder::Stability::default());\n            rsbinder::Strong::new(Box::new(binder))\n        }\n    }\n    pub trait ITestServiceDefault: Send + Sync {\n        fn r#ReverseBoolean(&self, _arg_input: &[bool], _arg_repeated: &mut Vec<bool>) -> rsbinder::status::Result<Vec<bool>> {\n            Err(rsbinder::StatusCode::UnknownTransaction.into())\n        }\n        fn r#RepeatNullableIntArray(&self, _arg_input: Option<&[i32]>) -> rsbinder::status::Result<Option<Vec<i32>>> {\n            Err(rsbinder::StatusCode::UnknownTransaction.into())\n        }\n        fn r#FillOutStructuredParcelable(&self, _arg_parcel: &mut rsbinder::Strong<dyn StructuredParcelable>) -> rsbinder::status::Result<()> {\n            Err(rsbinder::StatusCode::UnknownTransaction.into())\n        }\n    }\n    pub(crate) mod transactions {\n        pub(crate) const r#ReverseBoolean: rsbinder::TransactionCode = rsbinder::FIRST_CALL_TRANSACTION + 0;\n        pub(crate) const r#RepeatNullableIntArray: rsbinder::TransactionCode = rsbinder::FIRST_CALL_TRANSACTION + 1;\n        pub(crate) const r#FillOutStructuredParcelable: rsbinder::TransactionCode = rsbinder::FIRST_CALL_TRANSACTION + 2;\n    }\n    pub type ITestServiceDefaultRef = std::sync::Arc<dyn ITestServiceDefault>;\n    static DEFAULT_IMPL: std::sync::OnceLock<ITestServiceDefaultRef> = std::sync::OnceLock::new();\n    rsbinder::declare_binder_interface! {\n        ITestService[\"android.aidl.fixedsizearray.ITestService\"] {\n            native: {\n                BnTestService(on_transact),\n                adapter: BnTestServiceAdapter,\n                r#async: ITestServiceAsyncService,\n            },\n            proxy: BpTestService,\n            r#async: ITestServiceAsync,\n        }\n    }\n    impl BpTestService {\n        fn build_parcel_ReverseBoolean(&self, _arg_input: &[bool], _arg_repeated: &mut Vec<bool>) -> rsbinder::Result<rsbinder::Parcel> {\n            let mut data = self.binder.as_proxy().unwrap().prepare_transact(true)?;\n            data.write(_arg_input)?;\n            data.write_slice_size(Some(_arg_repeated))?;\n            Ok(data)\n        }\n        fn read_response_ReverseBoolean(&self, _arg_input: &[bool], _arg_repeated: &mut Vec<bool>, _aidl_reply: rsbinder::Result<Option<rsbinder::Parcel>>) -> rsbinder::status::Result<Vec<bool>> {\n            if let Err(rsbinder::StatusCode::UnknownTransaction) = _aidl_reply {\n                if let Some(_aidl_default_impl) = <Self as ITestService>::getDefaultImpl() {\n                  return _aidl_default_impl.r#ReverseBoolean(_arg_input, _arg_repeated);\n                }\n            }\n            let mut _aidl_reply = _aidl_reply?.ok_or(rsbinder::StatusCode::UnexpectedNull)?;\n            let _status = _aidl_reply.read::<rsbinder::Status>()?;\n            if !_status.is_ok() { return Err(_status); }\n            let _aidl_return: Vec<bool> = _aidl_reply.read()?;\n            _aidl_reply.read_onto(_arg_repeated)?;\n            Ok(_aidl_return)\n        }\n        fn build_parcel_RepeatNullableIntArray(&self, _arg_input: Option<&[i32]>) -> rsbinder::Result<rsbinder::Parcel> {\n            let mut data = self.binder.as_proxy().unwrap().prepare_transact(true)?;\n            data.write(&_arg_input)?;\n            Ok(data)\n        }\n        fn read_response_RepeatNullableIntArray(&self, _arg_input: Option<&[i32]>, _aidl_reply: rsbinder::Result<Option<rsbinder::Parcel>>) -> rsbinder::status::Result<Option<Vec<i32>>> {\n            if let Err(rsbinder::StatusCode::UnknownTransaction) = _aidl_reply {\n                if let Some(_aidl_default_impl) = <Self as ITestService>::getDefaultImpl() {\n                  return _aidl_default_impl.r#RepeatNullableIntArray(_arg_input);\n                }\n            }\n            let mut _aidl_reply = _aidl_reply?.ok_or(rsbinder::StatusCode::UnexpectedNull)?;\n            let _status = _aidl_reply.read::<rsbinder::Status>()?;\n            if !_status.is_ok() { return Err(_status); }\n            let _aidl_return: Option<Vec<i32>> = _aidl_reply.read()?;\n            Ok(_aidl_return)\n        }\n        fn build_parcel_FillOutStructuredParcelable(&self, _arg_parcel: &mut rsbinder::Strong<dyn StructuredParcelable>) -> rsbinder::Result<rsbinder::Parcel> {\n            let mut data = self.binder.as_proxy().unwrap().prepare_transact(true)?;\n            data.write(_arg_parcel)?;\n            Ok(data)\n        }\n        fn read_response_FillOutStructuredParcelable(&self, _arg_parcel: &mut rsbinder::Strong<dyn StructuredParcelable>, _aidl_reply: rsbinder::Result<Option<rsbinder::Parcel>>) -> rsbinder::status::Result<()> {\n            if let Err(rsbinder::StatusCode::UnknownTransaction) = _aidl_reply {\n                if let Some(_aidl_default_impl) = <Self as ITestService>::getDefaultImpl() {\n                  return _aidl_default_impl.r#FillOutStructuredParcelable(_arg_parcel);\n                }\n            }\n            let mut _aidl_reply = _aidl_reply?.ok_or(rsbinder::StatusCode::UnexpectedNull)?;\n            let _status = _aidl_reply.read::<rsbinder::Status>()?;\n            if !_status.is_ok() { return Err(_status); }\n            _aidl_reply.read_onto(_arg_parcel)?;\n            Ok(())\n        }\n    }\n    impl ITestService for BpTestService {\n        fn r#ReverseBoolean(&self, _arg_input: &[bool], _arg_repeated: &mut Vec<bool>) -> rsbinder::status::Result<Vec<bool>> {\n            let _aidl_data = self.build_parcel_ReverseBoolean(_arg_input, _arg_repeated)?;\n            let _aidl_reply = self.binder.as_proxy().unwrap().submit_transact(transactions::r#ReverseBoolean, &_aidl_data, rsbinder::FLAG_CLEAR_BUF);\n            self.read_response_ReverseBoolean(_arg_input, _arg_repeated, _aidl_reply)\n        }\n        fn r#RepeatNullableIntArray(&self, _arg_input: Option<&[i32]>) -> rsbinder::status::Result<Option<Vec<i32>>> {\n            let _aidl_data = self.build_parcel_RepeatNullableIntArray(_arg_input)?;\n            let _aidl_reply = self.binder.as_proxy().unwrap().submit_transact(transactions::r#RepeatNullableIntArray, &_aidl_data, rsbinder::FLAG_CLEAR_BUF);\n            self.read_response_RepeatNullableIntArray(_arg_input, _aidl_reply)\n        }\n        fn r#FillOutStructuredParcelable(&self, _arg_parcel: &mut rsbinder::Strong<dyn StructuredParcelable>) -> rsbinder::status::Result<()> {\n            let _aidl_data = self.build_parcel_FillOutStructuredParcelable(_arg_parcel)?;\n            let _aidl_reply = self.binder.as_proxy().unwrap().submit_transact(transactions::r#FillOutStructuredParcelable, &_aidl_data, rsbinder::FLAG_CLEAR_BUF);\n            self.read_response_FillOutStructuredParcelable(_arg_parcel, _aidl_reply)\n        }\n    }\n    impl<P: rsbinder::BinderAsyncPool> ITestServiceAsync<P> for BpTestService {\n        fn r#ReverseBoolean<'a>(&'a self, _arg_input: &'a [bool], _arg_repeated: &'a mut Vec<bool>) -> rsbinder::BoxFuture<'a, rsbinder::status::Result<Vec<bool>>> {\n            let _aidl_data = match self.build_parcel_ReverseBoolean(_arg_input, _arg_repeated) {\n                Ok(_aidl_data) => _aidl_data,\n                Err(err) => return Box::pin(std::future::ready(Err(err.into()))),\n            };\n            let binder = self.binder.clone();\n            P::spawn(\n                move || binder.as_proxy().unwrap().submit_transact(transactions::r#ReverseBoolean, &_aidl_data, rsbinder::FLAG_CLEAR_BUF | rsbinder::FLAG_PRIVATE_LOCAL),\n                move |_aidl_reply| async move {\n                    self.read_response_ReverseBoolean(_arg_input, _arg_repeated, _aidl_reply)\n                }\n            )\n        }\n        fn r#RepeatNullableIntArray<'a>(&'a self, _arg_input: Option<&'a [i32]>) -> rsbinder::BoxFuture<'a, rsbinder::status::Result<Option<Vec<i32>>>> {\n            let _aidl_data = match self.build_parcel_RepeatNullableIntArray(_arg_input) {\n                Ok(_aidl_data) => _aidl_data,\n                Err(err) => return Box::pin(std::future::ready(Err(err.into()))),\n            };\n            let binder = self.binder.clone();\n            P::spawn(\n                move || binder.as_proxy().unwrap().submit_transact(transactions::r#RepeatNullableIntArray, &_aidl_data, rsbinder::FLAG_CLEAR_BUF | rsbinder::FLAG_PRIVATE_LOCAL),\n                move |_aidl_reply| async move {\n                    self.read_response_RepeatNullableIntArray(_arg_input, _aidl_reply)\n                }\n            )\n        }\n        fn r#FillOutStructuredParcelable<'a>(&'a self, _arg_parcel: &'a mut rsbinder::Strong<dyn StructuredParcelable>) -> rsbinder::BoxFuture<'a, rsbinder::status::Result<()>> {\n            let _aidl_data = match self.build_parcel_FillOutStructuredParcelable(_arg_parcel) {\n                Ok(_aidl_data) => _aidl_data,\n                Err(err) => return Box::pin(std::future::ready(Err(err.into()))),\n            };\n            let binder = self.binder.clone();\n            P::spawn(\n                move || binder.as_proxy().unwrap().submit_transact(transactions::r#FillOutStructuredParcelable, &_aidl_data, rsbinder::FLAG_CLEAR_BUF | rsbinder::FLAG_PRIVATE_LOCAL),\n                move |_aidl_reply| async move {\n                    self.read_response_FillOutStructuredParcelable(_arg_parcel, _aidl_reply)\n                }\n            )\n        }\n    }\n    impl<P: rsbinder::BinderAsyncPool> ITestServiceAsync<P> for rsbinder::Binder<BnTestService>\n    {\n        fn r#ReverseBoolean<'a>(&'a self, _arg_input: &'a [bool], _arg_repeated: &'a mut Vec<bool>) -> rsbinder::BoxFuture<'a, rsbinder::status::Result<Vec<bool>>> {\n            self.0.as_async().r#ReverseBoolean(_arg_input, _arg_repeated)\n        }\n        fn r#RepeatNullableIntArray<'a>(&'a self, _arg_input: Option<&'a [i32]>) -> rsbinder::BoxFuture<'a, rsbinder::status::Result<Option<Vec<i32>>>> {\n            self.0.as_async().r#RepeatNullableIntArray(_arg_input)\n        }\n        fn r#FillOutStructuredParcelable<'a>(&'a self, _arg_parcel: &'a mut rsbinder::Strong<dyn StructuredParcelable>) -> rsbinder::BoxFuture<'a, rsbinder::status::Result<()>> {\n            self.0.as_async().r#FillOutStructuredParcelable(_arg_parcel)\n        }\n    }\n    impl ITestService for rsbinder::Binder<BnTestService> {\n        fn r#ReverseBoolean(&self, _arg_input: &[bool], _arg_repeated: &mut Vec<bool>) -> rsbinder::status::Result<Vec<bool>> {\n            self.0.as_sync().r#ReverseBoolean(_arg_input, _arg_repeated)\n        }\n        fn r#RepeatNullableIntArray(&self, _arg_input: Option<&[i32]>) -> rsbinder::status::Result<Option<Vec<i32>>> {\n            self.0.as_sync().r#RepeatNullableIntArray(_arg_input)\n        }\n        fn r#FillOutStructuredParcelable(&self, _arg_parcel: &mut rsbinder::Strong<dyn StructuredParcelable>) -> rsbinder::status::Result<()> {\n            self.0.as_sync().r#FillOutStructuredParcelable(_arg_parcel)\n        }\n    }\n    fn on_transact(\n        _service: &dyn ITestService, _code: rsbinder::TransactionCode, _reader: &mut rsbinder::Parcel, _reply: &mut rsbinder::Parcel) -> rsbinder::Result<()> {\n        match _code {\n            transactions::r#ReverseBoolean => {\n                let _arg_input: Vec<bool> = _reader.read()?;\n                let mut _arg_repeated: Vec<bool> = Default::default();\n                _reader.resize_out_vec(&mut _arg_repeated)?;\n                let _aidl_return = _service.r#ReverseBoolean(&_arg_input, &mut _arg_repeated);\n                match &_aidl_return {\n                    Ok(_aidl_return) => {\n                        _reply.write(&rsbinder::Status::from(rsbinder::StatusCode::Ok))?;\n                        _reply.write(_aidl_return)?;\n                        _reply.write(&_arg_repeated)?;\n                    }\n                    Err(_aidl_status) => {\n                        _reply.write(_aidl_status)?;\n                    }\n                }\n                Ok(())\n            }\n            transactions::r#RepeatNullableIntArray => {\n                let _arg_input: Option<Vec<i32>> = _reader.read()?;\n                let _aidl_return = _service.r#RepeatNullableIntArray(_arg_input.as_deref());\n                match &_aidl_return {\n                    Ok(_aidl_return) => {\n                        _reply.write(&rsbinder::Status::from(rsbinder::StatusCode::Ok))?;\n                        _reply.write(_aidl_return)?;\n                    }\n                    Err(_aidl_status) => {\n                        _reply.write(_aidl_status)?;\n                    }\n                }\n                Ok(())\n            }\n            transactions::r#FillOutStructuredParcelable => {\n                let mut _arg_parcel: rsbinder::Strong<dyn StructuredParcelable> = _reader.read()?;\n                let _aidl_return = _service.r#FillOutStructuredParcelable(&mut _arg_parcel);\n                match &_aidl_return {\n                    Ok(_aidl_return) => {\n                        _reply.write(&rsbinder::Status::from(rsbinder::StatusCode::Ok))?;\n                        _reply.write(&_arg_parcel)?;\n                    }\n                    Err(_aidl_status) => {\n                        _reply.write(_aidl_status)?;\n                    }\n                }\n                Ok(())\n            }\n            _ => Err(rsbinder::StatusCode::UnknownTransaction),\n        }\n    }\n}"
[INFO] [stdout] stack backtrace:
[INFO] [stdout]    0:     0x6356786a0012 - std[3b51380354919863]::backtrace_rs::backtrace::libunwind::trace
[INFO] [stdout]                                at /rustc/0d162b25edd5bf0dba9a22e83b614f1113e90474/library/std/src/../../backtrace/src/backtrace/libunwind.rs:117:9
[INFO] [stdout]    1:     0x6356786a0012 - std[3b51380354919863]::backtrace_rs::backtrace::trace_unsynchronized::<std[3b51380354919863]::sys::backtrace::_print_fmt::{closure#1}>
[INFO] [stdout]                                at /rustc/0d162b25edd5bf0dba9a22e83b614f1113e90474/library/std/src/../../backtrace/src/backtrace/mod.rs:66:14
[INFO] [stdout]    2:     0x6356786a0012 - std[3b51380354919863]::sys::backtrace::_print_fmt
[INFO] [stdout]                                at /rustc/0d162b25edd5bf0dba9a22e83b614f1113e90474/library/std/src/sys/backtrace.rs:74:9
[INFO] [stdout]    3:     0x6356786a0012 - <<std[3b51380354919863]::sys::backtrace::BacktraceLock>::print::DisplayBacktrace as core[27de1724e4349be2]::fmt::Display>::fmt
[INFO] [stdout]                                at /rustc/0d162b25edd5bf0dba9a22e83b614f1113e90474/library/std/src/sys/backtrace.rs:44:26
[INFO] [stdout]    4:     0x6356786b863a - <core[27de1724e4349be2]::fmt::rt::Argument>::fmt
[INFO] [stdout]                                at /rustc/0d162b25edd5bf0dba9a22e83b614f1113e90474/library/core/src/fmt/rt.rs:152:76
[INFO] [stdout]    5:     0x6356786b863a - core[27de1724e4349be2]::fmt::write
[INFO] [stdout]    6:     0x6356786a4e76 - std[3b51380354919863]::io::default_write_fmt::<alloc[a57f19327c0ad893]::vec::Vec<u8>>
[INFO] [stdout]                                at /rustc/0d162b25edd5bf0dba9a22e83b614f1113e90474/library/std/src/io/mod.rs:639:11
[INFO] [stdout]    7:     0x6356786a4e76 - <alloc[a57f19327c0ad893]::vec::Vec<u8> as std[3b51380354919863]::io::Write>::write_fmt
[INFO] [stdout]                                at /rustc/0d162b25edd5bf0dba9a22e83b614f1113e90474/library/std/src/io/mod.rs:1994:13
[INFO] [stdout]    8:     0x63567867dc1f - <std[3b51380354919863]::sys::backtrace::BacktraceLock>::print
[INFO] [stdout]                                at /rustc/0d162b25edd5bf0dba9a22e83b614f1113e90474/library/std/src/sys/backtrace.rs:47:9
[INFO] [stdout]    9:     0x63567867dc1f - std[3b51380354919863]::panicking::default_hook::{closure#0}
[INFO] [stdout]                                at /rustc/0d162b25edd5bf0dba9a22e83b614f1113e90474/library/std/src/panicking.rs:292:27
[INFO] [stdout]   10:     0x635678697929 - std[3b51380354919863]::panicking::default_hook
[INFO] [stdout]                                at /rustc/0d162b25edd5bf0dba9a22e83b614f1113e90474/library/std/src/panicking.rs:316:9
[INFO] [stdout]   11:     0x6356785f184e - <alloc[a57f19327c0ad893]::boxed::Box<dyn for<'a, 'b> core[27de1724e4349be2]::ops::function::Fn<(&'a std[3b51380354919863]::panic::PanicHookInfo<'b>,), Output = ()> + core[27de1724e4349be2]::marker::Sync + core[27de1724e4349be2]::marker::Send> as core[27de1724e4349be2]::ops::function::Fn<(&std[3b51380354919863]::panic::PanicHookInfo,)>>::call
[INFO] [stdout]                                at /rustc/0d162b25edd5bf0dba9a22e83b614f1113e90474/library/alloc/src/boxed.rs:2220:9
[INFO] [stdout]   12:     0x6356785f184e - test[182b2e79ecd7bbd9]::test_main_with_exit_callback::<test[182b2e79ecd7bbd9]::test_main::{closure#0}>::{closure#0}
[INFO] [stdout]                                at /rustc/0d162b25edd5bf0dba9a22e83b614f1113e90474/library/test/src/lib.rs:145:21
[INFO] [stdout]   13:     0x635678697ae2 - <alloc[a57f19327c0ad893]::boxed::Box<dyn for<'a, 'b> core[27de1724e4349be2]::ops::function::Fn<(&'a std[3b51380354919863]::panic::PanicHookInfo<'b>,), Output = ()> + core[27de1724e4349be2]::marker::Sync + core[27de1724e4349be2]::marker::Send> as core[27de1724e4349be2]::ops::function::Fn<(&std[3b51380354919863]::panic::PanicHookInfo,)>>::call
[INFO] [stdout]                                at /rustc/0d162b25edd5bf0dba9a22e83b614f1113e90474/library/alloc/src/boxed.rs:2220:9
[INFO] [stdout]   14:     0x635678697ae2 - std[3b51380354919863]::panicking::panic_with_hook
[INFO] [stdout]                                at /rustc/0d162b25edd5bf0dba9a22e83b614f1113e90474/library/std/src/panicking.rs:833:13
[INFO] [stdout]   15:     0x63567867dcd8 - std[3b51380354919863]::panicking::panic_handler::{closure#0}
[INFO] [stdout]                                at /rustc/0d162b25edd5bf0dba9a22e83b614f1113e90474/library/std/src/panicking.rs:698:13
[INFO] [stdout]   16:     0x635678672e59 - std[3b51380354919863]::sys::backtrace::__rust_end_short_backtrace::<std[3b51380354919863]::panicking::panic_handler::{closure#0}, !>
[INFO] [stdout]                                at /rustc/0d162b25edd5bf0dba9a22e83b614f1113e90474/library/std/src/sys/backtrace.rs:182:18
[INFO] [stdout]   17:     0x63567867eb2d - __rustc[d79c0ace40940972]::rust_begin_unwind
[INFO] [stdout]                                at /rustc/0d162b25edd5bf0dba9a22e83b614f1113e90474/library/std/src/panicking.rs:689:5
[INFO] [stdout]   18:     0x6356786b8dfc - core[27de1724e4349be2]::panicking::panic_fmt
[INFO] [stdout]                                at /rustc/0d162b25edd5bf0dba9a22e83b614f1113e90474/library/core/src/panicking.rs:80:14
[INFO] [stdout]   19:     0x6356786b8cb3 - core[27de1724e4349be2]::panicking::assert_failed_inner
[INFO] [stdout]                                at /rustc/0d162b25edd5bf0dba9a22e83b614f1113e90474/library/core/src/panicking.rs:439:17
[INFO] [stdout]   20:     0x635677f4d652 - core[27de1724e4349be2]::panicking::assert_failed::<&str, &str>
[INFO] [stdout]                                at /rustc/0d162b25edd5bf0dba9a22e83b614f1113e90474/library/core/src/panicking.rs:394:5
[INFO] [stdout]   21:     0x635677f4dd26 - test_arrays[1902e2fef393a679]::aidl_generator
[INFO] [stdout]                                at /opt/rustwide/workdir/tests/test_arrays.rs:20:5
[INFO] [stdout]   22:     0x635677f4df2e - test_arrays[1902e2fef393a679]::test_nullability
[INFO] [stdout]                                at /opt/rustwide/workdir/tests/test_arrays.rs:26:5
[INFO] [stdout]   23:     0x635677f4d707 - test_arrays[1902e2fef393a679]::test_nullability::{closure#0}
[INFO] [stdout]                                at /opt/rustwide/workdir/tests/test_arrays.rs:25:26
[INFO] [stdout]   24:     0x635677f4ea06 - <test_arrays[1902e2fef393a679]::test_nullability::{closure#0} as core[27de1724e4349be2]::ops::function::FnOnce<()>>::call_once
[INFO] [stdout]                                at /rustc/0d162b25edd5bf0dba9a22e83b614f1113e90474/library/core/src/ops/function.rs:250:5
[INFO] [stdout]   25:     0x6356785e5bfb - <fn() -> core[27de1724e4349be2]::result::Result<(), alloc[a57f19327c0ad893]::string::String> as core[27de1724e4349be2]::ops::function::FnOnce<()>>::call_once
[INFO] [stdout]                                at /rustc/0d162b25edd5bf0dba9a22e83b614f1113e90474/library/core/src/ops/function.rs:250:5
[INFO] [stdout]   26:     0x6356785e5bfb - test[182b2e79ecd7bbd9]::__rust_begin_short_backtrace::<core[27de1724e4349be2]::result::Result<(), alloc[a57f19327c0ad893]::string::String>, fn() -> core[27de1724e4349be2]::result::Result<(), alloc[a57f19327c0ad893]::string::String>>
[INFO] [stdout]                                at /rustc/0d162b25edd5bf0dba9a22e83b614f1113e90474/library/test/src/lib.rs:663:18
[INFO] [stdout]   27:     0x6356785f245a - test[182b2e79ecd7bbd9]::run_test_in_process::{closure#0}
[INFO] [stdout]                                at /rustc/0d162b25edd5bf0dba9a22e83b614f1113e90474/library/test/src/lib.rs:686:74
[INFO] [stdout]   28:     0x6356785f245a - <core[27de1724e4349be2]::panic::unwind_safe::AssertUnwindSafe<test[182b2e79ecd7bbd9]::run_test_in_process::{closure#0}> as core[27de1724e4349be2]::ops::function::FnOnce<()>>::call_once
[INFO] [stdout]                                at /rustc/0d162b25edd5bf0dba9a22e83b614f1113e90474/library/core/src/panic/unwind_safe.rs:274:9
[INFO] [stdout]   29:     0x6356785f245a - std[3b51380354919863]::panicking::catch_unwind::do_call::<core[27de1724e4349be2]::panic::unwind_safe::AssertUnwindSafe<test[182b2e79ecd7bbd9]::run_test_in_process::{closure#0}>, core[27de1724e4349be2]::result::Result<(), alloc[a57f19327c0ad893]::string::String>>
[INFO] [stdout]                                at /rustc/0d162b25edd5bf0dba9a22e83b614f1113e90474/library/std/src/panicking.rs:581:40
[INFO] [stdout]   30:     0x6356785f245a - std[3b51380354919863]::panicking::catch_unwind::<core[27de1724e4349be2]::result::Result<(), alloc[a57f19327c0ad893]::string::String>, core[27de1724e4349be2]::panic::unwind_safe::AssertUnwindSafe<test[182b2e79ecd7bbd9]::run_test_in_process::{closure#0}>>
[INFO] [stdout]                                at /rustc/0d162b25edd5bf0dba9a22e83b614f1113e90474/library/std/src/panicking.rs:544:19
[INFO] [stdout]   31:     0x6356785f245a - std[3b51380354919863]::panic::catch_unwind::<core[27de1724e4349be2]::panic::unwind_safe::AssertUnwindSafe<test[182b2e79ecd7bbd9]::run_test_in_process::{closure#0}>, core[27de1724e4349be2]::result::Result<(), alloc[a57f19327c0ad893]::string::String>>
[INFO] [stdout]                                at /rustc/0d162b25edd5bf0dba9a22e83b614f1113e90474/library/std/src/panic.rs:359:14
[INFO] [stdout]   32:     0x6356785f245a - test[182b2e79ecd7bbd9]::run_test_in_process
[INFO] [stdout]                                at /rustc/0d162b25edd5bf0dba9a22e83b614f1113e90474/library/test/src/lib.rs:686:27
[INFO] [stdout]   33:     0x6356785f245a - test[182b2e79ecd7bbd9]::run_test::{closure#0}
[INFO] [stdout]                                at /rustc/0d162b25edd5bf0dba9a22e83b614f1113e90474/library/test/src/lib.rs:607:43
[INFO] [stdout]   34:     0x6356785eda04 - test[182b2e79ecd7bbd9]::run_test::{closure#1}
[INFO] [stdout]                                at /rustc/0d162b25edd5bf0dba9a22e83b614f1113e90474/library/test/src/lib.rs:637:41
[INFO] [stdout]   35:     0x6356785eda04 - std[3b51380354919863]::sys::backtrace::__rust_begin_short_backtrace::<test[182b2e79ecd7bbd9]::run_test::{closure#1}, ()>
[INFO] [stdout]                                at /rustc/0d162b25edd5bf0dba9a22e83b614f1113e90474/library/std/src/sys/backtrace.rs:166:18
[INFO] [stdout]   36:     0x6356785f4f52 - std[3b51380354919863]::thread::lifecycle::spawn_unchecked::<test[182b2e79ecd7bbd9]::run_test::{closure#1}, ()>::{closure#1}::{closure#0}
[INFO] [stdout]                                at /rustc/0d162b25edd5bf0dba9a22e83b614f1113e90474/library/std/src/thread/lifecycle.rs:91:13
[INFO] [stdout]   37:     0x6356785f4f52 - <core[27de1724e4349be2]::panic::unwind_safe::AssertUnwindSafe<std[3b51380354919863]::thread::lifecycle::spawn_unchecked<test[182b2e79ecd7bbd9]::run_test::{closure#1}, ()>::{closure#1}::{closure#0}> as core[27de1724e4349be2]::ops::function::FnOnce<()>>::call_once
[INFO] [stdout]                                at /rustc/0d162b25edd5bf0dba9a22e83b614f1113e90474/library/core/src/panic/unwind_safe.rs:274:9
[INFO] [stdout]   38:     0x6356785f4f52 - std[3b51380354919863]::panicking::catch_unwind::do_call::<core[27de1724e4349be2]::panic::unwind_safe::AssertUnwindSafe<std[3b51380354919863]::thread::lifecycle::spawn_unchecked<test[182b2e79ecd7bbd9]::run_test::{closure#1}, ()>::{closure#1}::{closure#0}>, ()>
[INFO] [stdout]                                at /rustc/0d162b25edd5bf0dba9a22e83b614f1113e90474/library/std/src/panicking.rs:581:40
[INFO] [stdout]   39:     0x6356785f4f52 - std[3b51380354919863]::panicking::catch_unwind::<(), core[27de1724e4349be2]::panic::unwind_safe::AssertUnwindSafe<std[3b51380354919863]::thread::lifecycle::spawn_unchecked<test[182b2e79ecd7bbd9]::run_test::{closure#1}, ()>::{closure#1}::{closure#0}>>
[INFO] [stdout]                                at /rustc/0d162b25edd5bf0dba9a22e83b614f1113e90474/library/std/src/panicking.rs:544:19
[INFO] [stdout]   40:     0x6356785f4f52 - std[3b51380354919863]::panic::catch_unwind::<core[27de1724e4349be2]::panic::unwind_safe::AssertUnwindSafe<std[3b51380354919863]::thread::lifecycle::spawn_unchecked<test[182b2e79ecd7bbd9]::run_test::{closure#1}, ()>::{closure#1}::{closure#0}>, ()>
[INFO] [stdout]                                at /rustc/0d162b25edd5bf0dba9a22e83b614f1113e90474/library/std/src/panic.rs:359:14
[INFO] [stdout]   41:     0x6356785f4f52 - std[3b51380354919863]::thread::lifecycle::spawn_unchecked::<test[182b2e79ecd7bbd9]::run_test::{closure#1}, ()>::{closure#1}
[INFO] [stdout]                                at /rustc/0d162b25edd5bf0dba9a22e83b614f1113e90474/library/std/src/thread/lifecycle.rs:89:26
[INFO] [stdout]   42:     0x6356785f4f52 - <std[3b51380354919863]::thread::lifecycle::spawn_unchecked<test[182b2e79ecd7bbd9]::run_test::{closure#1}, ()>::{closure#1} as core[27de1724e4349be2]::ops::function::FnOnce<()>>::call_once::{shim:vtable#0}
[INFO] [stdout]                                at /rustc/0d162b25edd5bf0dba9a22e83b614f1113e90474/library/core/src/ops/function.rs:250:5
[INFO] [stdout]   43:     0x63567869f1bf - <alloc[a57f19327c0ad893]::boxed::Box<dyn core[27de1724e4349be2]::ops::function::FnOnce<(), Output = ()> + core[27de1724e4349be2]::marker::Send> as core[27de1724e4349be2]::ops::function::FnOnce<()>>::call_once
[INFO] [stdout]                                at /rustc/0d162b25edd5bf0dba9a22e83b614f1113e90474/library/alloc/src/boxed.rs:2206:9
[INFO] [stdout]   44:     0x63567869f1bf - <std[3b51380354919863]::sys::thread::unix::Thread>::new::thread_start
[INFO] [stdout]                                at /rustc/0d162b25edd5bf0dba9a22e83b614f1113e90474/library/std/src/sys/thread/unix.rs:119:17
[INFO] [stdout]   45:     0x753ec2d9eaa4 - <unknown>
[INFO] [stdout]   46:     0x753ec2e2ba64 - clone
[INFO] [stdout]   47:                0x0 - <unknown>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] failures:
[INFO] [stdout]     test_fixed_size_array
[INFO] [stdout]     test_nullability
[INFO] [stdout] 
[INFO] [stdout] test result: FAILED. 0 passed; 2 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.24s
[INFO] [stdout] 
[INFO] [stderr] error: test failed, to rerun pass `--test test_arrays`
[INFO] running `Command { std: "docker" "inspect" "ff23e47ec5fdac9441efc934ab48a730b4dcc6eae200a793fccf777fbe03513d", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "ff23e47ec5fdac9441efc934ab48a730b4dcc6eae200a793fccf777fbe03513d", kill_on_drop: false }`
[INFO] [stdout] ff23e47ec5fdac9441efc934ab48a730b4dcc6eae200a793fccf777fbe03513d
