// Copyright (c) Facebook, Inc. and its affiliates. // // This source code is licensed under the MIT license found in the // LICENSE file in the root directory of this source tree. use generic_array::{ arr, typenum::{U0, U32}, GenericArray, }; use generic_bytes_derive::SizedBytes; #[derive(SizedBytes)] struct Foo { f1: GenericArray, f2: T, } struct Bar(); impl generic_bytes::SizedBytes for Bar { type Len = U0; fn to_arr(&self) -> GenericArray { arr![u8;] } fn from_arr( _bytes: &GenericArray, ) -> Result { Ok(Bar()) } } #[test] fn test_foo() { let d1 = [2u8; 32]; let g2 = Bar(); let g1 = GenericArray::from_slice(&d1); let _foo = Foo { f1: *g1, f2: g2 }; }