about summary refs log tree commit diff
diff options
context:
space:
mode:
authorMaybe Waffle <waffle.lapkin@gmail.com>2023-04-06 17:03:42 +0000
committerMaybe Waffle <waffle.lapkin@gmail.com>2023-04-06 17:03:42 +0000
commitb6970d0e260aa33bb1e22ae7df739470ecad19e0 (patch)
tree6e9ab3d40f5c6e5373b6afd239f52f77bff41f2d
parent504c4c40e9716fb47346d6e8a27389467763552a (diff)
downloadrust-b6970d0e260aa33bb1e22ae7df739470ecad19e0.tar.gz
rust-b6970d0e260aa33bb1e22ae7df739470ecad19e0.zip
Use `FnOnce` for `slice_owned` instead of `Fn`
-rw-r--r--compiler/rustc_codegen_ssa/src/back/metadata.rs2
-rw-r--r--compiler/rustc_data_structures/src/owned_slice.rs4
2 files changed, 3 insertions, 3 deletions
diff --git a/compiler/rustc_codegen_ssa/src/back/metadata.rs b/compiler/rustc_codegen_ssa/src/back/metadata.rs
index c0f263d1478..3e3fcc08bd6 100644
--- a/compiler/rustc_codegen_ssa/src/back/metadata.rs
+++ b/compiler/rustc_codegen_ssa/src/back/metadata.rs
@@ -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))?;
diff --git a/compiler/rustc_data_structures/src/owned_slice.rs b/compiler/rustc_data_structures/src/owned_slice.rs
index 146f06a1c69..e35a93f2a1d 100644
--- a/compiler/rustc_data_structures/src/owned_slice.rs
+++ b/compiler/rustc_data_structures/src/owned_slice.rs
@@ -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.
     //