summaryrefslogtreecommitdiff
path: root/ext/http/http_next.rs
diff options
context:
space:
mode:
Diffstat (limited to 'ext/http/http_next.rs')
-rw-r--r--ext/http/http_next.rs25
1 files changed, 1 insertions, 24 deletions
diff --git a/ext/http/http_next.rs b/ext/http/http_next.rs
index 99d602fcc..a6527397f 100644
--- a/ext/http/http_next.rs
+++ b/ext/http/http_next.rs
@@ -20,6 +20,7 @@ use crate::websocket_upgrade::WebSocketUpgrade;
use crate::LocalExecutor;
use cache_control::CacheControl;
use deno_core::error::AnyError;
+use deno_core::external;
use deno_core::futures::future::poll_fn;
use deno_core::futures::TryFutureExt;
use deno_core::op2;
@@ -130,30 +131,6 @@ impl<
#[repr(transparent)]
struct RcHttpRecord(Rc<HttpRecord>);
-// Temp copy
-/// Define an external type.
-macro_rules! external {
- ($type:ident, $name:literal) => {
- impl deno_core::Externalizable for $type {
- fn external_marker() -> usize {
- // Use the address of a static mut as a way to get around lack of usize-sized TypeId. Because it is mutable, the
- // compiler cannot collapse multiple definitions into one.
- static mut DEFINITION: deno_core::ExternalDefinition =
- deno_core::ExternalDefinition::new($name);
- // Wash the pointer through black_box so the compiler cannot see what we're going to do with it and needs
- // to assume it will be used for valid purposes.
- // SAFETY: temporary while waiting on deno core bump
- let ptr = std::hint::black_box(unsafe { &mut DEFINITION } as *mut _);
- ptr as usize
- }
-
- fn external_name() -> &'static str {
- $name
- }
- }
- };
-}
-
// Register the [`HttpRecord`] as an external.
external!(RcHttpRecord, "http record");