diff options
Diffstat (limited to 'components/script/dom/bindings/codegen/CodegenRust.py')
-rw-r--r-- | components/script/dom/bindings/codegen/CodegenRust.py | 10 |
1 files changed, 5 insertions, 5 deletions
diff --git a/components/script/dom/bindings/codegen/CodegenRust.py b/components/script/dom/bindings/codegen/CodegenRust.py index c714bddb983..f947b0b2f80 100644 --- a/components/script/dom/bindings/codegen/CodegenRust.py +++ b/components/script/dom/bindings/codegen/CodegenRust.py @@ -1142,7 +1142,6 @@ class CGArgumentConverter(CGThing): "argc": argc, "args": args } - condition = string.Template("${index} < ${argc}").substitute(replacer) replacementVariables = { "val": string.Template("${args}.get(${index})").substitute(replacer), @@ -1164,17 +1163,18 @@ class CGArgumentConverter(CGThing): if not argument.variadic: if argument.optional: + condition = "{args}.get({index}).is_undefined()".format(**replacer) if argument.defaultValue: assert default template = CGIfElseWrapper(condition, - CGGeneric(template), - CGGeneric(default)).define() + CGGeneric(default), + CGGeneric(template)).define() else: assert not default declType = CGWrapper(declType, pre="Option<", post=">") template = CGIfElseWrapper(condition, - CGGeneric("Some(%s)" % template), - CGGeneric("None")).define() + CGGeneric("None"), + CGGeneric("Some(%s)" % template)).define() else: assert not default |