summaryrefslogtreecommitdiff
path: root/ext/node/lib.rs
diff options
context:
space:
mode:
authorDavid Sherret <dsherret@users.noreply.github.com>2023-04-24 21:07:48 -0400
committerGitHub <noreply@github.com>2023-04-24 21:07:48 -0400
commit5b4a9b48aeabded174cc161bfdafb6529cffbca1 (patch)
tree77a2e82cfe04e2c1c04200496499a11f6d53b7e9 /ext/node/lib.rs
parent667acb075c0f1fb62bc1177f46b550e9dd506c00 (diff)
refactor(ext/node): enforce interior mutable for `NodePermissions` to remove clones (#18831)
We can make `NodePermissions` rely on interior mutability (which the `PermissionsContainer` is already doing) in order to not have to clone everything all the time. This also reduces the chance of an accidental `borrow` while `borrrow_mut`.
Diffstat (limited to 'ext/node/lib.rs')
-rw-r--r--ext/node/lib.rs6
1 files changed, 3 insertions, 3 deletions
diff --git a/ext/node/lib.rs b/ext/node/lib.rs
index e63c73537..84530423f 100644
--- a/ext/node/lib.rs
+++ b/ext/node/lib.rs
@@ -44,13 +44,13 @@ pub trait NodeEnv {
}
pub trait NodePermissions {
- fn check_read(&mut self, path: &Path) -> Result<(), AnyError>;
+ fn check_read(&self, path: &Path) -> Result<(), AnyError>;
}
pub(crate) struct AllowAllNodePermissions;
impl NodePermissions for AllowAllNodePermissions {
- fn check_read(&mut self, _path: &Path) -> Result<(), AnyError> {
+ fn check_read(&self, _path: &Path) -> Result<(), AnyError> {
Ok(())
}
}
@@ -164,7 +164,7 @@ pub trait NpmResolver: std::fmt::Debug + Send + Sync {
fn ensure_read_permission(
&self,
- permissions: &mut dyn NodePermissions,
+ permissions: &dyn NodePermissions,
path: &Path,
) -> Result<(), AnyError>;
}