diff --git a/argparse/help_render.mbt b/argparse/help_render.mbt index 39d3e1780..6a7a1ccf2 100644 --- a/argparse/help_render.mbt +++ b/argparse/help_render.mbt @@ -240,25 +240,22 @@ fn builtin_option_label( ///| fn positional_entries(cmd : Command) -> Array[String] { - let display = Array::new(capacity=cmd.args.length()) - for arg in positional_args(cmd.args) { - if arg.hidden { - continue - } - display.push((positional_display(arg), arg_doc(arg))) - } - format_entries(display) + format_entries( + [ + for arg in positional_args(cmd.args) if !arg.hidden => { + (positional_display(arg), arg_doc(arg)) + } + ], + ) } ///| fn subcommand_entries(cmd : Command) -> Array[String] { - let display = Array::new(capacity=cmd.subcommands.length() + 1) - for sub in cmd.subcommands { - if sub.hidden { - continue + let display = [ + for sub in cmd.subcommands if !sub.hidden => { + (sub.name, sub.about.unwrap_or("")) } - display.push((sub.name, sub.about.unwrap_or(""))) - } + ] if help_subcommand_enabled(cmd) { display.push(("help", "Print help for the subcommand(s).")) } @@ -267,7 +264,7 @@ fn subcommand_entries(cmd : Command) -> Array[String] { ///| fn group_entries(cmd : Command) -> Array[String] { - let display = Array::new(capacity=cmd.groups.length()) + let display = [] for group in cmd.groups { let members = group_members(cmd, group) if members == "" { @@ -428,16 +425,11 @@ fn group_label(group : ArgGroup) -> String { ///| fn group_members(cmd : Command, group : ArgGroup) -> String { - let members = [] - for arg in cmd.args { - if arg.hidden { - continue - } - if arg_in_group(arg, group) { - members.push(group_member_display(arg)) + [ + for arg in cmd.args if !arg.hidden && arg_in_group(arg, group) => { + group_member_display(arg) } - } - members.join(", ") + ].join(", ") } ///| diff --git a/bytes/internal/regex_engine/translate.mbt b/bytes/internal/regex_engine/translate.mbt index 09edf53eb..9d9eb9ed9 100644 --- a/bytes/internal/regex_engine/translate.mbt +++ b/bytes/internal/regex_engine/translate.mbt @@ -39,11 +39,11 @@ fn translate( Sequence(exprs) => (transl_seq(tc, exprs), pref) Alternation(exprs) => { // TODO: merge sequences - let alts = [] - for expr in exprs { - let (cr, pref2) = translate(tc, expr) - alts.push(enforce_pref(ctx, pref, pref2, cr)) - } + let alts = [ + for expr in exprs if translate(tc, expr) is (cr, pref2) => { + enforce_pref(ctx, pref, pref2, cr) + } + ] (@automata.e_alt(ctx~, alts), pref) } Quantifier(q, expr) => { diff --git a/priority_queue/priority_queue.mbt b/priority_queue/priority_queue.mbt index d2c2e419c..a80aff59c 100644 --- a/priority_queue/priority_queue.mbt +++ b/priority_queue/priority_queue.mbt @@ -142,11 +142,7 @@ pub fn[A : Compare] PriorityQueue::iter(self : PriorityQueue[A]) -> Iter[A] { ///| pub impl[A : ToJson + Compare] ToJson for PriorityQueue[A] with to_json(self) { - let arr = [] - for x in self { - arr.push(x.to_json()) - } - Json::array(arr) + Json::array([ for x in self => x.to_json() ]) } ///|