@@ -364,18 +364,20 @@ def transform_call_expr(builder: IRBuilder, expr: CallExpr) -> Value:
364364 ):
365365 item_type = builder .type_to_rtype (analyzed .types [0 ])
366366 vec_type = RVec (item_type )
367- cap = _get_vec_cap (builder , expr )
367+ capacity = _get_vec_capacity (builder , expr )
368368 if len (expr .args ) == 0 or (len (expr .args ) == 1 and expr .arg_kinds == [ARG_NAMED ]):
369- # vec[T]() or vec[T](cap =N)
370- return vec_create (builder .builder , vec_type , 0 , expr .line , cap = cap )
369+ # vec[T]() or vec[T](capacity =N)
370+ return vec_create (builder .builder , vec_type , 0 , expr .line , capacity = capacity )
371371 elif (
372372 len (expr .args ) == 1
373373 and expr .arg_kinds == [ARG_POS ]
374374 or len (expr .args ) == 2
375375 and expr .arg_kinds == [ARG_POS , ARG_NAMED ]
376376 ):
377- # vec[T](items) or vec[T](items, cap=N)
378- return translate_vec_create_from_iterable (builder , vec_type , expr .args [0 ], cap = cap )
377+ # vec[T](items) or vec[T](items, capacity=N)
378+ return translate_vec_create_from_iterable (
379+ builder , vec_type , expr .args [0 ], capacity = capacity
380+ )
379381 callee = analyzed .expr # Unwrap type application
380382
381383 if isinstance (callee , MemberExpr ):
@@ -569,7 +571,7 @@ def translate_super_method_call(builder: IRBuilder, expr: CallExpr, callee: Supe
569571 return builder .builder .call (decl , arg_values , arg_kinds , arg_names , expr .line )
570572
571573
572- def _get_vec_cap (builder : IRBuilder , expr : CallExpr ) -> Value | None :
574+ def _get_vec_capacity (builder : IRBuilder , expr : CallExpr ) -> Value | None :
573575 """Extract the 'capacity' keyword argument value from a vec() call, or None."""
574576 for i , (kind , name ) in enumerate (zip (expr .arg_kinds , expr .arg_names )):
575577 if kind == ARG_NAMED and name == "capacity" :
@@ -578,7 +580,7 @@ def _get_vec_cap(builder: IRBuilder, expr: CallExpr) -> Value | None:
578580
579581
580582def translate_vec_create_from_iterable (
581- builder : IRBuilder , vec_type : RVec , arg : Expression , * , cap : Value | None = None
583+ builder : IRBuilder , vec_type : RVec , arg : Expression , * , capacity : Value | None = None
582584) -> Value :
583585 line = arg .line
584586 item_type = vec_type .item_type
@@ -597,17 +599,19 @@ def translate_vec_create_from_iterable(
597599 if is_int64_rprimitive (other_type ) or is_int_rprimitive (other_type ):
598600 length = builder .accept (other )
599601 init = builder .accept (lst .items [0 ])
600- return vec_create_initialized (builder .builder , vec_type , length , init , line , cap = cap )
602+ return vec_create_initialized (
603+ builder .builder , vec_type , length , init , line , capacity = capacity
604+ )
601605 assert False , other_type
602606 if isinstance (arg , ListExpr ):
603607 items = []
604608 for item in arg .items :
605609 value = builder .accept (item )
606610 items .append (builder .coerce (value , item_type , line ))
607- return vec_create_from_values (builder .builder , vec_type , items , line , cap = cap )
611+ return vec_create_from_values (builder .builder , vec_type , items , line , capacity = capacity )
608612 if isinstance (arg , ListComprehension ):
609- return translate_vec_comprehension (builder , vec_type , arg .generator , cap = cap )
610- return vec_from_iterable (builder , vec_type , arg , line , cap = cap )
613+ return translate_vec_comprehension (builder , vec_type , arg .generator , capacity = capacity )
614+ return vec_from_iterable (builder , vec_type , arg , line , capacity = capacity )
611615
612616
613617def vec_from_iterable (
@@ -616,14 +620,14 @@ def vec_from_iterable(
616620 iterable : Expression ,
617621 line : int ,
618622 * ,
619- cap : Value | None = None ,
623+ capacity : Value | None = None ,
620624) -> Value :
621625 """Construct a vec from an arbitrary iterable."""
622626 # Translate it as a vec comprehension vec[t]([<name> for <name> in
623627 # iterable]). This way we can use various special casing supported
624628 # by for loops and comprehensions.
625629 vec = Register (vec_type )
626- builder .assign (vec , vec_create (builder .builder , vec_type , 0 , line , cap = cap ), line )
630+ builder .assign (vec , vec_create (builder .builder , vec_type , 0 , line , capacity = capacity ), line )
627631 name = f"___tmp_{ line } "
628632 var = Var (name )
629633 reg = builder .add_local (var , vec_type .item_type )
0 commit comments