diff --git a/anndata/src/data/array/chunks.rs b/anndata/src/data/array/chunks.rs index 0ee8018..052545e 100644 --- a/anndata/src/data/array/chunks.rs +++ b/anndata/src/data/array/chunks.rs @@ -5,7 +5,7 @@ use crate::data::{ array::utils::ExtendableDataset, }; -use anyhow::{bail, Result}; +use anyhow::{bail, Result, Context}; use ndarray::{Array, ArrayView1, ArrayD, RemoveAxis}; use nalgebra_sparse::na::Scalar; use nalgebra_sparse::{CsrMatrix, CscMatrix}; @@ -27,7 +27,7 @@ impl ArrayChunk for ArrayData { G: GroupOp, { let mut iter = iter.peekable(); - match iter.peek().unwrap() { + match iter.peek().context("input iterator is empty")? { ArrayData::Array(_) => DynArray::write_by_chunk(iter.map(|x| x.try_into().unwrap()), location, name), ArrayData::CsrMatrix(_) | ArrayData::CsrNonCanonical(_) => DynCsrNonCanonical::write_by_chunk(iter.map(|x| x.try_into().unwrap()), location, name), @@ -45,7 +45,7 @@ impl ArrayChunk for DynArray { G: GroupOp, { let mut iter = iter.peekable(); - match iter.peek().unwrap() { + match iter.peek().context("input iterator is empty")? { DynArray::U8(_) => ArrayD::::write_by_chunk(iter.map(|x| x.try_into().unwrap()), location, name), DynArray::U16(_) => ArrayD::::write_by_chunk(iter.map(|x| x.try_into().unwrap()), location, name), DynArray::U32(_) => ArrayD::::write_by_chunk(iter.map(|x| x.try_into().unwrap()), location, name), @@ -104,7 +104,7 @@ impl ArrayChunk for DynCsrMatrix { G: GroupOp, { let mut iter = iter.peekable(); - match iter.peek().unwrap() { + match iter.peek().context("input iterator is empty")? { DynCsrMatrix::U8(_) => CsrMatrix::::write_by_chunk(iter.map(|x| x.try_into().unwrap()), location, name), DynCsrMatrix::U16(_) => CsrMatrix::::write_by_chunk(iter.map(|x| x.try_into().unwrap()), location, name), DynCsrMatrix::U32(_) => CsrMatrix::::write_by_chunk(iter.map(|x| x.try_into().unwrap()), location, name), @@ -182,7 +182,7 @@ impl ArrayChunk for DynCsrNonCanonical { G: GroupOp, { let mut iter = iter.peekable(); - match iter.peek().unwrap() { + match iter.peek().context("input iterator is empty")? { DynCsrNonCanonical::U8(_) => CsrNonCanonical::::write_by_chunk(iter.map(|x| x.try_into().unwrap()), location, name), DynCsrNonCanonical::U16(_) => CsrNonCanonical::::write_by_chunk(iter.map(|x| x.try_into().unwrap()), location, name), DynCsrNonCanonical::U32(_) => CsrNonCanonical::::write_by_chunk(iter.map(|x| x.try_into().unwrap()), location, name), @@ -260,7 +260,7 @@ impl ArrayChunk for DynCscMatrix { G: GroupOp, { let mut iter = iter.peekable(); - match iter.peek().unwrap() { + match iter.peek().context("input iterator is empty")? { DynCscMatrix::U8(_) => CscMatrix::::write_by_chunk(iter.map(|x| x.try_into().unwrap()), location, name), DynCscMatrix::U16(_) => CscMatrix::::write_by_chunk(iter.map(|x| x.try_into().unwrap()), location, name), DynCscMatrix::U32(_) => CscMatrix::::write_by_chunk(iter.map(|x| x.try_into().unwrap()), location, name), @@ -289,7 +289,7 @@ impl ArrayChunk for CscMatrix { .transpose()) */ - fn write_by_chunk(mut iter: I, location: &G, name: &str) -> Result> + fn write_by_chunk(_: I, _: &G, _: &str) -> Result> where I: Iterator, B: Backend,