Skip to content

Commit 97d0968

Browse files
committed
box register/cluster
1 parent 8ee1f61 commit 97d0968

File tree

3 files changed

+10
-10
lines changed

3 files changed

+10
-10
lines changed

svd-parser/src/expand.rs

+4-4
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
}
@@ -462,7 +462,7 @@ fn expand_register_array(
462462

463463
match r {
464464
Register::Single(_) => {
465-
regs.push(RegisterCluster::Register(r));
465+
regs.push(r.into());
466466
}
467467
Register::Array(info, dim) => {
468468
for rx in names(&info, &dim)
@@ -474,7 +474,7 @@ fn expand_register_array(
474474
Register::Single(info)
475475
})
476476
{
477-
regs.push(RegisterCluster::Register(rx));
477+
regs.push(rx.into());
478478
}
479479
}
480480
}

svd-parser/src/registercluster.rs

+2-2
Original file line numberDiff line numberDiff line change
@@ -9,8 +9,8 @@ impl Parse for RegisterCluster {
99

1010
fn parse(tree: &Node, config: &Self::Config) -> Result<Self, Self::Error> {
1111
match tree.tag_name().name() {
12-
"register" => Register::parse(tree, config).map(RegisterCluster::Register),
13-
"cluster" => Cluster::parse(tree, config).map(RegisterCluster::Cluster),
12+
"register" => Register::parse(tree, config).map(Into::into),
13+
"cluster" => Cluster::parse(tree, config).map(Into::into),
1414
_ => Err(
1515
SVDError::InvalidRegisterCluster(tree.tag_name().name().to_string()).at(tree.id()),
1616
),

svd-rs/src/registercluster.rs

+4-4
Original file line numberDiff line numberDiff line change
@@ -10,20 +10,20 @@ 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-
RegisterCluster::Register(reg)
20+
RegisterCluster::Register(Box::new(reg))
2121
}
2222
}
2323

2424
impl From<Cluster> for RegisterCluster {
2525
fn from(cluser: Cluster) -> Self {
26-
RegisterCluster::Cluster(cluser)
26+
RegisterCluster::Cluster(Box::new(cluser))
2727
}
2828
}
2929

0 commit comments

Comments
 (0)