0
0
Fork 0
mirror of https://github.com/denoland/deno.git synced 2025-03-03 09:31:22 -05:00

Add blanket impl for the 'Resource' trait (#3903)

This commit is contained in:
Bert Belder 2020-02-06 19:09:55 -08:00
parent d7edf393b6
commit 25467aa7c7
No known key found for this signature in database
GPG key ID: 7A77887B2E2ED461
8 changed files with 1 additions and 21 deletions

View file

@ -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 {

View file

@ -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();

View file

@ -34,8 +34,6 @@ struct PluginResource {
ops: HashMap<String, OpId>,
}
impl Resource for PluginResource {}
struct InitContext {
ops: HashMap<String, Box<OpDispatcher>>,
}

View file

@ -75,8 +75,6 @@ struct ChildResource {
child: tokio::process::Child,
}
impl Resource for ChildResource {}
fn op_run(
state: &ThreadSafeState,
args: Value,

View file

@ -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 {

View file

@ -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;
@ -39,9 +37,6 @@ pub fn init(i: &mut Isolate, s: &ThreadSafeState) {
/// The second element is the waker of polling future.
pub struct SignalStreamResource(pub Signal, pub Option<Waker>);
#[cfg(unix)]
impl Resource for SignalStreamResource {}
#[cfg(unix)]
#[derive(Deserialize)]
struct BindSignalArgs {

View file

@ -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();

View file

@ -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);