Skip to content

Commit 90ea9f1

Browse files
committed
little cleanups
1 parent 02d165a commit 90ea9f1

File tree

2 files changed

+23
-37
lines changed

2 files changed

+23
-37
lines changed

src/generate/register.rs

+18-22
Original file line numberDiff line numberDiff line change
@@ -119,11 +119,9 @@ pub fn render(
119119
register.read_action,
120120
)?
121121
);
122-
if mod_ty != "cfg" {
123-
alias_doc +=
124-
format!("\n\nFor information about available fields see [`mod@{mod_ty}`] module")
125-
.as_str();
126-
}
122+
alias_doc +=
123+
format!("\n\nFor information about available fields see [`mod@{mod_ty}`] module")
124+
.as_str();
127125
let mut out = TokenStream::new();
128126
out.extend(quote! {
129127
#[doc = #alias_doc]
@@ -158,21 +156,21 @@ fn api_docs(
158156
read_action: Option<ReadAction>,
159157
) -> Result<String, std::fmt::Error> {
160158
fn method(s: &str) -> String {
161-
format!("[`{s}`](crate::generic::Reg::{s})")
159+
format!("[`{s}`](crate::Reg::{s})")
162160
}
163161

164162
let mut doc = String::new();
165163

166164
if can_read {
167165
write!(
168166
doc,
169-
"You can {} this register and get [`{module}::R`]{}. ",
167+
"You can {} this register and get [`{module}::R`]{}.",
170168
method("read"),
171169
if inmodule { "(R)" } else { "" },
172170
)?;
173171

174172
if let Some(action) = read_action {
175-
doc.push_str("WARN: ");
173+
doc.push_str(" WARN: ");
176174
doc.push_str(match action {
177175
ReadAction::Clear => "The register is **cleared** (set to zero) following a read operation.",
178176
ReadAction::Set => "The register is **set** (set to ones) following a read operation.",
@@ -203,7 +201,7 @@ fn api_docs(
203201
}
204202

205203
if can_read && can_write {
206-
write!(doc, "You can also {} this register. ", method("modify"),)?;
204+
write!(doc, "You can also {} this register. ", method("modify"))?;
207205
}
208206

209207
doc.push_str("See [API](https://docs.rs/svd2rust/#read--modify--write-api).");
@@ -220,12 +218,13 @@ pub fn render_register_mod(
220218
) -> Result<TokenStream> {
221219
let properties = &register.properties;
222220
let name = util::name_of(register, config.ignore_groups);
221+
let rname = &register.name;
223222
let span = Span::call_site();
224223
let regspec_ty = regspec(&name, config, span);
225224
let mod_ty = ident(&name, config, "register_mod", span);
226225
let rsize = properties
227226
.size
228-
.ok_or_else(|| anyhow!("Register {} has no `size` field", register.name))?;
227+
.ok_or_else(|| anyhow!("Register {rname} has no `size` field"))?;
229228
let rsize = if rsize < 8 {
230229
8
231230
} else if rsize.is_power_of_two() {
@@ -236,7 +235,7 @@ pub fn render_register_mod(
236235
let rty = rsize.to_ty()?;
237236
let description = util::escape_special_chars(
238237
util::respace(&register.description.clone().unwrap_or_else(|| {
239-
warn!("Missing description for register {}", register.name);
238+
warn!("Missing description for register {rname}");
240239
Default::default()
241240
}))
242241
.as_ref(),
@@ -249,15 +248,15 @@ pub fn render_register_mod(
249248
let can_reset = properties.reset_value.is_some();
250249

251250
if can_read {
252-
let desc = format!("Register `{}` reader", register.name);
251+
let desc = format!("Register `{rname}` reader");
253252
mod_items.extend(quote! {
254253
#[doc = #desc]
255254
pub type R = crate::R<#regspec_ty>;
256255
});
257256
}
258257

259258
if can_write {
260-
let desc = format!("Register `{}` writer", register.name);
259+
let desc = format!("Register `{rname}` writer");
261260
mod_items.extend(quote! {
262261
#[doc = #desc]
263262
pub type W = crate::W<#regspec_ty>;
@@ -663,15 +662,11 @@ pub fn fields(
663662
let rv = properties.reset_value.map(|rv| (rv >> offset) & mask);
664663
let fty = width.to_ty()?;
665664

666-
let use_mask;
667-
let use_cast;
668-
if let Some(size) = properties.size {
665+
let (use_cast, use_mask) = if let Some(size) = properties.size {
669666
let size = size.to_ty_width()?;
670-
use_cast = size != width.to_ty_width()?;
671-
use_mask = size != width;
667+
(size != width.to_ty_width()?, size != width)
672668
} else {
673-
use_cast = true;
674-
use_mask = true;
669+
(true, true)
675670
};
676671

677672
let mut lookup_results = Vec::new();
@@ -724,7 +719,8 @@ pub fn fields(
724719

725720
let brief_suffix = if let Field::Array(_, de) = &f {
726721
if let Some(range) = de.indexes_as_range() {
727-
format!("({}-{})", *range.start(), *range.end())
722+
let (start, end) = range.into_inner();
723+
format!("({start}-{end})")
728724
} else {
729725
let suffixes: Vec<_> = de.indexes().collect();
730726
format!("({})", suffixes.join(","))
@@ -1420,7 +1416,7 @@ impl Variant {
14201416
.ok_or_else(|| anyhow!("EnumeratedValue {} has no `<value>` entry", ev.name))?;
14211417
Self::from_value(value, ev, config)
14221418
})
1423-
.collect::<Result<Vec<_>>>()
1419+
.collect()
14241420
}
14251421
fn from_value(value: u64, ev: &EnumeratedValue, config: &Config) -> Result<Self> {
14261422
let span = Span::call_site();

src/util.rs

+5-15
Original file line numberDiff line numberDiff line change
@@ -356,12 +356,7 @@ impl U32Ext for u32 {
356356
16 => "u16",
357357
32 => "u32",
358358
64 => "u64",
359-
_ => {
360-
return Err(anyhow!(
361-
"can't convert {} bits into register size type",
362-
*self
363-
))
364-
}
359+
_ => return Err(anyhow!("can't convert {self} bits into register size type")),
365360
})
366361
}
367362
fn to_ty(&self) -> Result<Ident> {
@@ -374,8 +369,7 @@ impl U32Ext for u32 {
374369
33..=64 => "u64",
375370
_ => {
376371
return Err(anyhow!(
377-
"can't convert {} bits into a Rust integral type",
378-
*self
372+
"can't convert {self} bits into a Rust integral type"
379373
))
380374
}
381375
},
@@ -392,8 +386,7 @@ impl U32Ext for u32 {
392386
33..=64 => 64,
393387
_ => {
394388
return Err(anyhow!(
395-
"can't convert {} bits into a Rust integral type width",
396-
*self
389+
"can't convert {self} bits into a Rust integral type width"
397390
))
398391
}
399392
})
@@ -437,11 +430,8 @@ pub trait DimSuffix {
437430
impl DimSuffix for str {
438431
fn expand_dim(&self, suffix: &str) -> Cow<str> {
439432
if self.contains("%s") {
440-
if self.contains("[%s]") {
441-
self.replace("[%s]", suffix).into()
442-
} else {
443-
self.replace("%s", suffix).into()
444-
}
433+
self.replace(if self.contains("[%s]") { "[%s]" } else { "%s" }, suffix)
434+
.into()
445435
} else {
446436
self.into()
447437
}

0 commit comments

Comments
 (0)