diff --git a/argparse/parser_positionals.mbt b/argparse/parser_positionals.mbt index 0e79d867f..44d168eb3 100644 --- a/argparse/parser_positionals.mbt +++ b/argparse/parser_positionals.mbt @@ -14,13 +14,9 @@ ///| fn positional_args(args : Array[Arg]) -> Array[Arg] { - let ordered = [] - for arg in args { - if arg.info is PositionalInfo(_) { - ordered.push(arg) - } - } - ordered + [ + for arg in args if arg.info is PositionalInfo(_) => arg + ] } ///| diff --git a/hashset/hashset.mbt b/hashset/hashset.mbt index 4ba3437dd..90e5d5139 100644 --- a/hashset/hashset.mbt +++ b/hashset/hashset.mbt @@ -314,13 +314,9 @@ pub fn[K] HashSet::iter(self : HashSet[K]) -> Iter[K] { ///| /// Converts the hash set to an array. pub fn[K] HashSet::to_array(self : HashSet[K]) -> Array[K] { - let arr = Array::new(capacity=self.size) - for entry in self.entries { - if entry is Some({ key, .. }) { - arr.push(key) - } - } - arr + [ + for entry in self.entries if entry is Some({ key, .. }) => key + ] } ///| diff --git a/immut/sorted_set/immutable_set.mbt b/immut/sorted_set/immutable_set.mbt index 18068f1aa..baef33676 100644 --- a/immut/sorted_set/immutable_set.mbt +++ b/immut/sorted_set/immutable_set.mbt @@ -791,11 +791,7 @@ pub impl[A : Show] Show for SortedSet[A] with output(self, logger) { ///| pub impl[A : ToJson] ToJson for SortedSet[A] with to_json(self) { - let capacity = self.iter().count() - guard capacity != 0 else { return Json::array([]) } - let jsons = Array::new(capacity~) - self.each(a => jsons.push(a.to_json())) - Json::array(jsons) + Json::array([ for a in self => a.to_json() ]) } ///| diff --git a/list/list.mbt b/list/list.mbt index 95bfd2d10..6e775da62 100644 --- a/list/list.mbt +++ b/list/list.mbt @@ -94,13 +94,7 @@ pub impl[A : Show] Show for List[A] with output(xs, logger) { /// ToJson implementation for List. /// Converts a list to a JSON array. pub impl[A : ToJson] ToJson for List[A] with to_json(self) { - let capacity = self.length() - guard capacity != 0 else { return [] } - let jsons = Array::new(capacity~) - for a in self { - jsons.push(a.to_json()) - } - Json::array(jsons) + Json::array([ for a in self => a.to_json() ]) } ///| diff --git a/sorted_map/deprecated.mbt b/sorted_map/deprecated.mbt index f4012d07c..64ffdacbc 100644 --- a/sorted_map/deprecated.mbt +++ b/sorted_map/deprecated.mbt @@ -17,9 +17,9 @@ #deprecated("Use `keys_as_iter` instead. `keys` will return `Iter[K]` instead of `Array[K]` in the future.") #coverage.skip pub fn[K, V] SortedMap::keys(self : SortedMap[K, V]) -> Array[K] { - let keys = Array::new(capacity=self.size) - self.each((k, _v) => keys.push(k)) - keys + [ + for k, _ in self => k + ] } ///| @@ -27,7 +27,7 @@ pub fn[K, V] SortedMap::keys(self : SortedMap[K, V]) -> Array[K] { #deprecated("Use `values_as_iter` instead. `values` will return `Iter[V]` instead of `Array[V]` in the future.") #coverage.skip pub fn[K, V] SortedMap::values(self : SortedMap[K, V]) -> Array[V] { - let values = Array::new(capacity=self.size) - self.each((_k, v) => values.push(v)) - values + [ + for _, v in self => v + ] } diff --git a/sorted_map/map.mbt b/sorted_map/map.mbt index b153c93ae..0f1dac027 100644 --- a/sorted_map/map.mbt +++ b/sorted_map/map.mbt @@ -269,9 +269,9 @@ pub fn[K, V] SortedMap::values_as_iter(self : SortedMap[K, V]) -> Iter[V] { ///| /// Returns an array of all key-value pairs in ascending key order. pub fn[K, V] SortedMap::to_array(self : SortedMap[K, V]) -> Array[(K, V)] { - let arr = Array::new(capacity=self.size) - self.each((k, v) => arr.push((k, v))) - arr + [ + for kv in self => kv + ] } ///|