Skip to content

Commit 3982e0c

Browse files
committed
Update to Rust 1.75
1 parent 646ba41 commit 3982e0c

File tree

11 files changed

+26
-27
lines changed

11 files changed

+26
-27
lines changed

rslib/src/cloze.rs

+1-1
Original file line numberDiff line numberDiff line change
@@ -146,7 +146,7 @@ impl ExtractedCloze<'_> {
146146

147147
/// If cloze starts with image-occlusion:, return the text following that.
148148
fn image_occlusion(&self) -> Option<&str> {
149-
let Some(first_node) = self.nodes.get(0) else {
149+
let Some(first_node) = self.nodes.first() else {
150150
return None;
151151
};
152152
let TextOrCloze::Text(text) = first_node else {

rslib/src/import_export/text/csv/metadata.rs

+1-1
Original file line numberDiff line numberDiff line change
@@ -460,7 +460,7 @@ fn ensure_first_field_is_mapped(
460460
fn maybe_set_fallback_columns(metadata: &mut CsvMetadata) -> Result<()> {
461461
if metadata.column_labels.is_empty() {
462462
metadata.column_labels =
463-
vec![String::new(); metadata.preview.get(0).map_or(0, |row| row.vals.len())];
463+
vec![String::new(); metadata.preview.first().map_or(0, |row| row.vals.len())];
464464
}
465465
Ok(())
466466
}

rslib/src/import_export/text/import.rs

+4-4
Original file line numberDiff line numberDiff line change
@@ -483,7 +483,7 @@ impl DuplicateUpdateResult {
483483
impl NoteContext<'_> {
484484
fn is_guid_dupe(&self) -> bool {
485485
self.dupes
486-
.get(0)
486+
.first()
487487
.map_or(false, |d| d.note.guid == self.note.guid)
488488
}
489489

@@ -570,11 +570,11 @@ impl ForeignNote {
570570
}
571571

572572
fn first_field_is_the_empty_string(&self) -> bool {
573-
matches!(self.fields.get(0), Some(Some(s)) if s.is_empty())
573+
matches!(self.fields.first(), Some(Some(s)) if s.is_empty())
574574
}
575575

576576
fn first_field_is_unempty(&self) -> bool {
577-
matches!(self.fields.get(0), Some(Some(s)) if !s.is_empty())
577+
matches!(self.fields.first(), Some(Some(s)) if !s.is_empty())
578578
}
579579

580580
fn normalize_fields(&mut self, normalize_text: bool) {
@@ -595,7 +595,7 @@ impl ForeignNote {
595595

596596
fn first_field_stripped(&self) -> Option<Cow<str>> {
597597
self.fields
598-
.get(0)
598+
.first()
599599
.and_then(|s| s.as_ref())
600600
.map(|field| strip_html_preserving_media_filenames(field.as_str()))
601601
}

rslib/src/notes/mod.rs

+1-1
Original file line numberDiff line numberDiff line change
@@ -564,7 +564,7 @@ impl Collection {
564564
/// notetypes, check if there is a cloze in a non-cloze field or if there's
565565
/// no cloze at all. For other notetypes, just check if there's a cloze.
566566
pub fn note_fields_check(&mut self, note: &Note) -> Result<NoteFieldsState> {
567-
Ok(if let Some(text) = note.fields.get(0) {
567+
Ok(if let Some(text) = note.fields.first() {
568568
let field1 = if self.get_config_bool(BoolKey::NormalizeNoteText) {
569569
normalize_to_nfc(text)
570570
} else {

rslib/src/notetype/mod.rs

+4-4
Original file line numberDiff line numberDiff line change
@@ -132,7 +132,7 @@ impl Notetype {
132132
/// always return the first and only template.
133133
pub fn get_template(&self, card_ord: u16) -> Result<&CardTemplate> {
134134
let template = if self.config.kind() == NotetypeKind::Cloze {
135-
self.templates.get(0)
135+
self.templates.first()
136136
} else {
137137
self.templates.get(card_ord as usize)
138138
};
@@ -553,7 +553,7 @@ impl Notetype {
553553
fields: HashMap<String, Option<String>>,
554554
parsed: &mut [(Option<ParsedTemplate>, Option<ParsedTemplate>)],
555555
) {
556-
let first_remaining_field_name = &self.fields.get(0).unwrap().name;
556+
let first_remaining_field_name = &self.fields.first().unwrap().name;
557557
let is_cloze = self.is_cloze();
558558
for (idx, (q_opt, a_opt)) in parsed.iter_mut().enumerate() {
559559
if let Some(q) = q_opt {
@@ -616,7 +616,7 @@ impl Notetype {
616616
pub(crate) fn cloze_fields(&self) -> HashSet<usize> {
617617
if !self.is_cloze() {
618618
HashSet::new()
619-
} else if let Some((Some(front), _)) = self.parsed_templates().get(0) {
619+
} else if let Some((Some(front), _)) = self.parsed_templates().first() {
620620
front
621621
.all_referenced_cloze_field_names()
622622
.iter()
@@ -647,7 +647,7 @@ fn missing_cloze_filter(
647647
parsed_templates: &[(Option<ParsedTemplate>, Option<ParsedTemplate>)],
648648
) -> bool {
649649
parsed_templates
650-
.get(0)
650+
.first()
651651
.map_or(true, |t| !has_cloze(&t.0) || !has_cloze(&t.1))
652652
}
653653

rslib/src/notetype/render.rs

+1-1
Original file line numberDiff line numberDiff line change
@@ -58,7 +58,7 @@ impl Collection {
5858
.or_invalid("no such notetype")?;
5959
let template = match nt.config.kind() {
6060
NotetypeKind::Normal => nt.templates.get(card.template_idx as usize),
61-
NotetypeKind::Cloze => nt.templates.get(0),
61+
NotetypeKind::Cloze => nt.templates.first(),
6262
}
6363
.or_invalid("missing template")?;
6464

rslib/src/revlog/mod.rs

+2-3
Original file line numberDiff line numberDiff line change
@@ -92,12 +92,11 @@ impl Collection {
9292
original_interval: u32,
9393
usn: Usn,
9494
) -> Result<()> {
95-
let ease_factor = u32::try_from(
95+
let ease_factor = u32::from(
9696
card.memory_state
9797
.map(|s| ((s.difficulty_shifted() * 1000.) as u16))
9898
.unwrap_or(card.ease_factor),
99-
)
100-
.unwrap_or_default();
99+
);
101100
let entry = RevlogEntry {
102101
id: RevlogId::new(),
103102
cid: card.id,

rslib/src/scheduler/new.rs

+9-9
Original file line numberDiff line numberDiff line change
@@ -299,6 +299,15 @@ impl Collection {
299299
}
300300
}
301301

302+
impl From<NewCardInsertOrder> for NewCardDueOrder {
303+
fn from(o: NewCardInsertOrder) -> Self {
304+
match o {
305+
NewCardInsertOrder::Due => NewCardDueOrder::NoteId,
306+
NewCardInsertOrder::Random => NewCardDueOrder::Random,
307+
}
308+
}
309+
}
310+
302311
#[cfg(test)]
303312
mod test {
304313
use super::*;
@@ -374,12 +383,3 @@ mod test {
374383
assert_eq!((card.due, card.reps, card.lapses), (1, 0, 0));
375384
}
376385
}
377-
378-
impl From<NewCardInsertOrder> for NewCardDueOrder {
379-
fn from(o: NewCardInsertOrder) -> Self {
380-
match o {
381-
NewCardInsertOrder::Due => NewCardDueOrder::NoteId,
382-
NewCardInsertOrder::Random => NewCardDueOrder::Random,
383-
}
384-
}
385-
}

rslib/src/scheduler/queue/mod.rs

+1-1
Original file line numberDiff line numberDiff line change
@@ -80,7 +80,7 @@ pub(crate) struct BuryMode {
8080
impl Collection {
8181
pub fn get_next_card(&mut self) -> Result<Option<QueuedCard>> {
8282
self.get_queued_cards(1, false)
83-
.map(|queued| queued.cards.get(0).cloned())
83+
.map(|queued| queued.cards.first().cloned())
8484
}
8585

8686
pub fn get_queued_cards(

rslib/src/template.rs

+1-1
Original file line numberDiff line numberDiff line change
@@ -647,7 +647,7 @@ pub fn render_card(
647647
context.frontside = if context.partial_for_python {
648648
Some("")
649649
} else {
650-
let Some(RenderedNode::Text { text }) = &qnodes.get(0) else {
650+
let Some(RenderedNode::Text { text }) = &qnodes.first() else {
651651
invalid_input!("should not happen: first node not text");
652652
};
653653
Some(text)

rust-toolchain.toml

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,3 @@
11
[toolchain]
22
# older versions may fail to compile; newer versions may fail the clippy tests
3-
channel = "1.74"
3+
channel = "1.75"

0 commit comments

Comments
 (0)