From 406acd17af7f6f41186216fdb054c0f4a5d6580e Mon Sep 17 00:00:00 2001 From: Ms2ger Date: Mon, 9 Jun 2014 14:06:03 +0200 Subject: [PATCH] Avoid reallocations with variadic arguments. Thanks to huon for pointing that out. --- src/components/script/dom/bindings/codegen/CodegenRust.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/components/script/dom/bindings/codegen/CodegenRust.py b/src/components/script/dom/bindings/codegen/CodegenRust.py index 069254b7c16..0f8de8249cb 100644 --- a/src/components/script/dom/bindings/codegen/CodegenRust.py +++ b/src/components/script/dom/bindings/codegen/CodegenRust.py @@ -941,7 +941,7 @@ class CGArgumentConverter(CGThing): seqType = CGTemplatedType("Vec", declType) variadicConversion = string.Template( "{\n" - " let mut vector: ${seqType} = vec![];\n" + " let mut vector: ${seqType} = Vec::with_capacity((${argc} - ${index}) as uint);\n" " for variadicArg in range(${index}, ${argc}) {\n" "${inner}\n" " vector.push(slot);\n"