From 6e8c3e88f86790cdb526e1fcad2765ba8b451eb9 Mon Sep 17 00:00:00 2001 From: Alex Crichton Date: Tue, 4 Jun 2019 09:26:27 -0700 Subject: [PATCH] Directly import `__wrap` functions if possible These can have similar optimizations as importing a value directly. --- crates/cli-support/src/js/rust2js.rs | 3 +++ 1 file changed, 3 insertions(+) diff --git a/crates/cli-support/src/js/rust2js.rs b/crates/cli-support/src/js/rust2js.rs index ed655078..b2d39ada 100644 --- a/crates/cli-support/src/js/rust2js.rs +++ b/crates/cli-support/src/js/rust2js.rs @@ -907,6 +907,9 @@ impl<'a, 'b> Rust2Js<'a, 'b> { assert!(!variadic); assert_eq!(self.js_arguments.len(), 1); self.cx.require_class_wrap(class); + if self.is_noop() { + return Ok(format!("{}.__wrap", class)); + } format!("{}.__wrap({})", class, self.js_arguments[0]) }