Skip to content

Commit 982895f

Browse files
committed
box register/cluster
1 parent 4894fdf commit 982895f

File tree

2 files changed

+17
-5
lines changed

2 files changed

+17
-5
lines changed

svd-parser/src/expand.rs

+2-2
Original file line numberDiff line numberDiff line change
@@ -293,8 +293,8 @@ fn expand_register_cluster(
293293
index: &Index,
294294
) -> Result<()> {
295295
match rc {
296-
RegisterCluster::Cluster(c) => expand_cluster_array(regs, c, path, index)?,
297-
RegisterCluster::Register(r) => expand_register_array(regs, r, path, index)?,
296+
RegisterCluster::Cluster(c) => expand_cluster_array(regs, *c, path, index)?,
297+
RegisterCluster::Register(r) => expand_register_array(regs, *r, path, index)?,
298298
}
299299
Ok(())
300300
}

svd-rs/src/registercluster.rs

+15-3
Original file line numberDiff line numberDiff line change
@@ -10,19 +10,31 @@ use super::{Cluster, Register};
1010
#[allow(clippy::large_enum_variant)]
1111
pub enum RegisterCluster {
1212
/// Register
13-
Register(Register),
13+
Register(Box<Register>),
1414
/// Cluster
15-
Cluster(Cluster),
15+
Cluster(Box<Cluster>),
1616
}
1717

1818
impl From<Register> for RegisterCluster {
1919
fn from(reg: Register) -> Self {
20-
Self::Register(reg)
20+
Self::Register(Box::new(reg))
2121
}
2222
}
2323

2424
impl From<Cluster> for RegisterCluster {
2525
fn from(cluser: Cluster) -> Self {
26+
Self::Cluster(Box::new(cluser))
27+
}
28+
}
29+
30+
impl From<Box<Register>> for RegisterCluster {
31+
fn from(reg: Box<Register>) -> Self {
32+
Self::Register(reg)
33+
}
34+
}
35+
36+
impl From<Box<Cluster>> for RegisterCluster {
37+
fn from(cluser: Box<Cluster>) -> Self {
2638
Self::Cluster(cluser)
2739
}
2840
}

0 commit comments

Comments
 (0)