aboutsummaryrefslogtreecommitdiffstats
path: root/components/script/dom/bindings/codegen
diff options
context:
space:
mode:
Diffstat (limited to 'components/script/dom/bindings/codegen')
-rw-r--r--components/script/dom/bindings/codegen/CodegenRust.py4
1 files changed, 3 insertions, 1 deletions
diff --git a/components/script/dom/bindings/codegen/CodegenRust.py b/components/script/dom/bindings/codegen/CodegenRust.py
index fe88275bf20..9c5e4864dab 100644
--- a/components/script/dom/bindings/codegen/CodegenRust.py
+++ b/components/script/dom/bindings/codegen/CodegenRust.py
@@ -7250,8 +7250,10 @@ def camel_to_upper_snake(s):
def process_arg(expr, arg):
if arg.type.isGeckoInterface() and not arg.type.unroll().inner.isCallback():
- if arg.type.nullable() or arg.type.isSequence() or arg.optional:
+ if arg.variadic or arg.type.isSequence() or arg.type.nullable() and arg.optional:
expr += ".r()"
+ elif arg.type.nullable() or arg.optional:
+ expr += ".deref()"
else:
expr = "&" + expr
elif isinstance(arg.type, IDLPromiseType):