diff --git a/Cargo.toml b/Cargo.toml
index dd9a0d4d4..6bc5e0d3e 100644
--- a/Cargo.toml
+++ b/Cargo.toml
@@ -23,7 +23,7 @@ fastrand = "2.1.1"
 once_cell = { version = "1.19.0", default-features = false, features = ["std"] }
 
 [target.'cfg(any(unix, target_os = "wasi"))'.dependencies]
-rustix = { version = "0.38.37", features = ["fs"] }
+rustix = { version = "0.38.39", features = ["fs"] }
 
 [target.'cfg(windows)'.dependencies.windows-sys]
 version = ">=0.52,<=0.59"
diff --git a/src/lib.rs b/src/lib.rs
index 459afbec5..ea4933856 100644
--- a/src/lib.rs
+++ b/src/lib.rs
@@ -1,3 +1,6 @@
+// wasip2 conditionally gates stdlib APIs.
+// https://github.com/rust-lang/rust/issues/130323
+#![cfg_attr(all(target_os = "wasi", target_env = "p2"), feature(wasip2))]
 //! Temporary files and directories.
 //!
 //! - Use the [`tempfile()`] function for temporary files