summaryrefslogtreecommitdiff
path: root/src/resources.rs
diff options
context:
space:
mode:
Diffstat (limited to 'src/resources.rs')
-rw-r--r--src/resources.rs10
1 files changed, 7 insertions, 3 deletions
diff --git a/src/resources.rs b/src/resources.rs
index 36e0d9486..75612e574 100644
--- a/src/resources.rs
+++ b/src/resources.rs
@@ -66,7 +66,10 @@ enum Repr {
TcpStream(tokio::net::TcpStream),
HttpBody(HttpBody),
Repl(Repl),
- Child(tokio_process::Child),
+ // Enum size is bounded by the largest variant.
+ // Use `Box` around large `Child` struct.
+ // https://rust-lang.github.io/rust-clippy/master/index.html#large_enum_variant
+ Child(Box<tokio_process::Child>),
ChildStdin(tokio_process::ChildStdin),
ChildStdout(tokio_process::ChildStdout),
ChildStderr(tokio_process::ChildStderr),
@@ -258,6 +261,7 @@ pub fn add_repl(repl: Repl) -> Resource {
Resource { rid }
}
+#[cfg_attr(feature = "cargo-clippy", allow(stutter))]
pub struct ChildResources {
pub child_rid: ResourceId,
pub stdin_rid: Option<ResourceId>,
@@ -298,10 +302,10 @@ pub fn add_child(mut c: tokio_process::Child) -> ChildResources {
resources.stderr_rid = Some(rid);
}
- let r = tg.insert(child_rid, Repr::Child(c));
+ let r = tg.insert(child_rid, Repr::Child(Box::new(c)));
assert!(r.is_none());
- return resources;
+ resources
}
pub struct ChildStatus {