Use FnOnce
for slice_owned
instead of Fn
This commit is contained in:
parent
504c4c40e9
commit
b6970d0e26
@ -37,7 +37,7 @@ pub struct DefaultMetadataLoader;
|
||||
|
||||
fn load_metadata_with(
|
||||
path: &Path,
|
||||
f: impl for<'a> Fn(&'a [u8]) -> Result<&'a [u8], String>,
|
||||
f: impl for<'a> FnOnce(&'a [u8]) -> Result<&'a [u8], String>,
|
||||
) -> Result<MetadataRef, String> {
|
||||
let file =
|
||||
File::open(path).map_err(|e| format!("failed to open file '{}': {}", path.display(), e))?;
|
||||
|
@ -59,7 +59,7 @@ pub struct OwnedSlice {
|
||||
pub fn slice_owned<O, F>(owner: O, slicer: F) -> OwnedSlice
|
||||
where
|
||||
O: Send + Sync + 'static,
|
||||
F: Fn(&O) -> &[u8],
|
||||
F: FnOnce(&O) -> &[u8],
|
||||
{
|
||||
try_slice_owned(owner, |x| Ok::<_, !>(slicer(x))).into_ok()
|
||||
}
|
||||
@ -70,7 +70,7 @@ where
|
||||
pub fn try_slice_owned<O, F, E>(owner: O, slicer: F) -> Result<OwnedSlice, E>
|
||||
where
|
||||
O: Send + Sync + 'static,
|
||||
F: Fn(&O) -> Result<&[u8], E>,
|
||||
F: FnOnce(&O) -> Result<&[u8], E>,
|
||||
{
|
||||
// We box the owner of the bytes, so it doesn't move.
|
||||
//
|
||||
|
Loading…
x
Reference in New Issue
Block a user