Use IntoInterator to simplify write_entries() usage
This commit is contained in:
parent
6806a14a3f
commit
4e3526394e
|
@ -792,10 +792,8 @@ mod tests {
|
|||
|
||||
// Write the given entries to a file and then return a file iterator to them.
|
||||
fn to_file_iter(entries: impl Iterator<Item = Entry>) -> impl Iterator<Item = Entry> {
|
||||
let entries: Vec<_> = entries.collect();
|
||||
|
||||
let mut file = Cursor::new(vec![]);
|
||||
EntryWriter::write_entries(&mut file, &entries).unwrap();
|
||||
EntryWriter::write_entries(&mut file, entries).unwrap();
|
||||
file.seek(SeekFrom::Start(0)).unwrap();
|
||||
|
||||
let reader = BufReader::new(file);
|
||||
|
|
|
@ -26,6 +26,6 @@ fn main() -> Result<(), Box<error::Error>> {
|
|||
|
||||
let mint: Mint = serde_json::from_str(&buffer)?;
|
||||
let mut writer = stdout();
|
||||
EntryWriter::write_entries(&mut writer, &mint.create_entries())?;
|
||||
EntryWriter::write_entries(&mut writer, mint.create_entries())?;
|
||||
Ok(())
|
||||
}
|
||||
|
|
|
@ -19,13 +19,16 @@ impl<'a, W: Write> EntryWriter<'a, W> {
|
|||
}
|
||||
|
||||
fn write_entry(writer: &mut W, entry: &Entry) -> io::Result<()> {
|
||||
let serialized = serde_json::to_string(&entry).unwrap();
|
||||
let serialized = serde_json::to_string(entry).unwrap();
|
||||
writeln!(writer, "{}", serialized)
|
||||
}
|
||||
|
||||
pub fn write_entries(writer: &mut W, entries: &[Entry]) -> io::Result<()> {
|
||||
pub fn write_entries<I>(writer: &mut W, entries: I) -> io::Result<()>
|
||||
where
|
||||
I: IntoIterator<Item = Entry>,
|
||||
{
|
||||
for entry in entries {
|
||||
Self::write_entry(writer, entry)?;
|
||||
Self::write_entry(writer, &entry)?;
|
||||
}
|
||||
Ok(())
|
||||
}
|
||||
|
|
Loading…
Reference in New Issue