summaryrefslogtreecommitdiff
path: root/cli/module_loader.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 /cli/module_loader.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 'cli/module_loader.rs')
-rw-r--r--cli/module_loader.rs12
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}'."));