I've seen some examples of using serde_as for explicitly-defined size ranges, but I'm struggling to figure out how to apply to const generics, if it's even possible.
use serde::{Serialize, Deserialize};
use serde_with::serde_as;
#[serde_as]
#[derive(Copy, Clone, PartialEq, Eq, Serialize, Deserialize)]
struct FixedMatrix<T, const ROW: usize, const COL: usize> {
serde_as(as = "[[_; ROW]; COL]")
data: [[T; ROW]; COL],
}
Was browsing through serde-rs/serde#1937 and saw mention of:
#[serde_with::serde_as]
#[derive(Serialize)]
struct Foo {
#[serde_as(as = "[_; 2]")]
bar: [String; 2],
#[serde_as(as = "Vec<[_; 5]>")]
foobar: Vec<[u8; 5]>,
}
I've seen some examples of using
serde_asfor explicitly-defined size ranges, but I'm struggling to figure out how to apply to const generics, if it's even possible.Was browsing through serde-rs/serde#1937 and saw mention of: