diff options
author | David Sherret <dsherret@users.noreply.github.com> | 2023-04-24 21:07:48 -0400 |
---|---|---|
committer | GitHub <noreply@github.com> | 2023-04-24 21:07:48 -0400 |
commit | 5b4a9b48aeabded174cc161bfdafb6529cffbca1 (patch) | |
tree | 77a2e82cfe04e2c1c04200496499a11f6d53b7e9 /cli/module_loader.rs | |
parent | 667acb075c0f1fb62bc1177f46b550e9dd506c00 (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 'cli/module_loader.rs')
-rw-r--r-- | cli/module_loader.rs | 12 |
1 files changed, 6 insertions, 6 deletions
diff --git a/cli/module_loader.rs b/cli/module_loader.rs index 5a7743ef2..0f0568272 100644 --- a/cli/module_loader.rs +++ b/cli/module_loader.rs @@ -450,10 +450,10 @@ impl ModuleLoader for CliModuleLoader { referrer: &str, kind: ResolutionKind, ) -> Result<ModuleSpecifier, AnyError> { - let mut permissions = if matches!(kind, ResolutionKind::DynamicImport) { - self.dynamic_permissions.clone() + let permissions = if matches!(kind, ResolutionKind::DynamicImport) { + &self.dynamic_permissions } else { - self.root_permissions.clone() + &self.root_permissions }; // TODO(bartlomieju): ideally we shouldn't need to call `current_dir()` on each @@ -469,7 +469,7 @@ impl ModuleLoader for CliModuleLoader { specifier, referrer, NodeResolutionMode::Execution, - &mut permissions, + permissions, )) .with_context(|| { format!("Could not resolve '{specifier}' from '{referrer}'.") @@ -494,7 +494,7 @@ impl ModuleLoader for CliModuleLoader { self.node_resolver.resolve_npm_reference( &module.nv_reference, NodeResolutionMode::Execution, - &mut permissions, + permissions, ), ) .with_context(|| { @@ -556,7 +556,7 @@ impl ModuleLoader for CliModuleLoader { self.node_resolver.resolve_npm_req_reference( &reference, NodeResolutionMode::Execution, - &mut permissions, + permissions, ), ) .with_context(|| format!("Could not resolve '{reference}'.")); |