summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--cli/ops/io.rs3
-rw-r--r--cli/ops/net.rs3
-rw-r--r--cli/ops/plugins.rs2
-rw-r--r--cli/ops/process.rs2
-rw-r--r--cli/ops/repl.rs3
-rw-r--r--cli/ops/signal.rs5
-rw-r--r--cli/ops/tls.rs3
-rw-r--r--core/resources.rs1
8 files changed, 1 insertions, 21 deletions
diff --git a/cli/ops/io.rs b/cli/ops/io.rs
index 18ad3cf30..9c074b8ba 100644
--- a/cli/ops/io.rs
+++ b/cli/ops/io.rs
@@ -5,7 +5,6 @@ use crate::http_util::HttpBody;
use crate::ops::minimal_op;
use crate::state::ThreadSafeState;
use deno_core::ErrBox;
-use deno_core::Resource;
use deno_core::*;
use futures::future::FutureExt;
use futures::ready;
@@ -86,8 +85,6 @@ pub enum StreamResource {
ChildStderr(tokio::process::ChildStderr),
}
-impl Resource for StreamResource {}
-
/// `DenoAsyncRead` is the same as the `tokio_io::AsyncRead` trait
/// but uses an `ErrBox` error instead of `std::io:Error`
pub trait DenoAsyncRead {
diff --git a/cli/ops/net.rs b/cli/ops/net.rs
index 41cfc2909..5b35d9287 100644
--- a/cli/ops/net.rs
+++ b/cli/ops/net.rs
@@ -5,7 +5,6 @@ use crate::deno_error::bad_resource;
use crate::ops::json_op;
use crate::resolve_addr::resolve_addr;
use crate::state::ThreadSafeState;
-use deno_core::Resource;
use deno_core::*;
use futures::future::FutureExt;
use std;
@@ -226,8 +225,6 @@ struct TcpListenerResource {
local_addr: SocketAddr,
}
-impl Resource for TcpListenerResource {}
-
impl Drop for TcpListenerResource {
fn drop(&mut self) {
self.wake_task();
diff --git a/cli/ops/plugins.rs b/cli/ops/plugins.rs
index 1f301ee27..24a59917e 100644
--- a/cli/ops/plugins.rs
+++ b/cli/ops/plugins.rs
@@ -34,8 +34,6 @@ struct PluginResource {
ops: HashMap<String, OpId>,
}
-impl Resource for PluginResource {}
-
struct InitContext {
ops: HashMap<String, Box<OpDispatcher>>,
}
diff --git a/cli/ops/process.rs b/cli/ops/process.rs
index ae762b114..1ffd6b78e 100644
--- a/cli/ops/process.rs
+++ b/cli/ops/process.rs
@@ -75,8 +75,6 @@ struct ChildResource {
child: tokio::process::Child,
}
-impl Resource for ChildResource {}
-
fn op_run(
state: &ThreadSafeState,
args: Value,
diff --git a/cli/ops/repl.rs b/cli/ops/repl.rs
index 9c40fe04f..9b47f262a 100644
--- a/cli/ops/repl.rs
+++ b/cli/ops/repl.rs
@@ -5,7 +5,6 @@ use crate::ops::json_op;
use crate::repl;
use crate::repl::Repl;
use crate::state::ThreadSafeState;
-use deno_core::Resource;
use deno_core::*;
use std::sync::Arc;
use std::sync::Mutex;
@@ -23,8 +22,6 @@ pub fn init(i: &mut Isolate, s: &ThreadSafeState) {
struct ReplResource(Arc<Mutex<Repl>>);
-impl Resource for ReplResource {}
-
#[derive(Deserialize)]
#[serde(rename_all = "camelCase")]
struct ReplStartArgs {
diff --git a/cli/ops/signal.rs b/cli/ops/signal.rs
index 9726becc5..f815cb57c 100644
--- a/cli/ops/signal.rs
+++ b/cli/ops/signal.rs
@@ -9,8 +9,6 @@ use super::dispatch_json::Deserialize;
#[cfg(unix)]
use crate::deno_error::bad_resource;
#[cfg(unix)]
-use deno_core::Resource;
-#[cfg(unix)]
use futures::future::{poll_fn, FutureExt};
#[cfg(unix)]
use serde_json;
@@ -40,9 +38,6 @@ pub fn init(i: &mut Isolate, s: &ThreadSafeState) {
pub struct SignalStreamResource(pub Signal, pub Option<Waker>);
#[cfg(unix)]
-impl Resource for SignalStreamResource {}
-
-#[cfg(unix)]
#[derive(Deserialize)]
struct BindSignalArgs {
signo: i32,
diff --git a/cli/ops/tls.rs b/cli/ops/tls.rs
index 126a00f63..45b2f2d38 100644
--- a/cli/ops/tls.rs
+++ b/cli/ops/tls.rs
@@ -7,7 +7,6 @@ use crate::deno_error::ErrorKind;
use crate::ops::json_op;
use crate::resolve_addr::resolve_addr;
use crate::state::ThreadSafeState;
-use deno_core::Resource;
use deno_core::*;
use futures::future::FutureExt;
use std;
@@ -185,8 +184,6 @@ pub struct TlsListenerResource {
local_addr: SocketAddr,
}
-impl Resource for TlsListenerResource {}
-
impl Drop for TlsListenerResource {
fn drop(&mut self) {
self.wake_task();
diff --git a/core/resources.rs b/core/resources.rs
index 84722f660..51b66c4bc 100644
--- a/core/resources.rs
+++ b/core/resources.rs
@@ -77,4 +77,5 @@ impl ResourceTable {
/// that allows to cast resource to concrete type in `TableResource::get`
/// and `TableResource::get_mut` methods.
pub trait Resource: Downcast + Any + Send {}
+impl<T> Resource for T where T: Downcast + Any + Send {}
impl_downcast!(Resource);