@@ -13,60 +13,52 @@ interface MapInterface extends ArrayInterface
1313 /**
1414 * @psalm-param Closure(TValue $value,string $key):bool $callback
1515 * @psalm-return MapInterface<TValue>
16- * @psalm-immutable
1716 */
1817 public function filter (callable $ callback ): MapInterface ;
1918
2019 /**
2120 * @psalm-param (Closure(TValue $a,TValue $b):int)|null $callback
2221 * @psalm-return MapInterface<TValue>
23- * @psalm-immutable
2422 */
2523 public function sort (?callable $ callback = null ): MapInterface ;
2624
2725 /**
2826 * @psalm-param list<MapInterface<TValue>> $stack
2927 * @psalm-return MapInterface<TValue>
30- * @psalm-immutable
3128 */
3229 public function merge (...$ stack ): MapInterface ;
3330
3431 /**
3532 * @psalm-param MapInterface<TValue> $other
3633 * @psalm-param (Closure(string $a,string $b):int)|null $keyComparator
3734 * @psalm-return MapInterface<TValue>
38- * @psalm-immutable
3935 */
4036 public function diffKeys (MapInterface $ other , ?callable $ keyComparator = null ): MapInterface ;
4137
4238 /**
4339 * @template TNewValue
4440 * @psalm-param Closure(TValue $a):TNewValue $callback
4541 * @psalm-return MapInterface<TNewValue>
46- * @psalm-immutable
4742 */
4843 public function map (callable $ callback ): MapInterface ;
4944
5045 /**
5146 * @psalm-param MapInterface<TValue> $other
5247 * @psalm-param (Closure(TValue $a,TValue $b):int)|null $valueComparator
5348 * @psalm-return MapInterface<TValue>
54- * @psalm-immutable
5549 */
5650 public function intersect (MapInterface $ other , ?callable $ valueComparator = null ): MapInterface ;
5751
5852 /**
5953 * @psalm-param MapInterface<TValue> $other
6054 * @psalm-param (Closure(TValue $a,TValue $b):int)|null $valueComparator
6155 * @psalm-return MapInterface<TValue>
62- * @psalm-immutable
6356 */
6457 public function diff (MapInterface $ other , ?callable $ valueComparator = null ): MapInterface ;
6558
6659 /**
6760 * @psalm-param (Closure(TValue $a,TValue $b):int)|null $sorter
6861 * @psalm-return OrderedListInterface<TValue>
69- * @psalm-immutable
7062 */
7163 public function toOrderedList (?callable $ sorter = null ): OrderedListInterface ;
7264
@@ -75,51 +67,46 @@ public function toOrderedList(?callable $sorter = null): OrderedListInterface;
7567 *
7668 * @psalm-param TValue $element
7769 * @psalm-return MapInterface<TValue>
78- * @psalm-immutable
7970 */
8071 public function removeElement ($ element ): MapInterface ;
8172
8273 /**
8374 * @psalm-param string $key
8475 * @psalm-return MapInterface<TValue>
85- * @psalm-immutable
8676 */
8777 public function removeElementByKey ($ key ): MapInterface ;
8878
8979 /**
9080 * @psalm-return OrderedListInterface<string>
91- * @psalm-immutable
81+ * @psalm-mutation-free
9282 */
9383 public function keys (): OrderedListInterface ;
9484
9585 /**
9686 * @psalm-param string $key
9787 * @psalm-param TValue $value
9888 * @psalm-return MapInterface<TValue>
99- * @psalm-immutable
10089 */
10190 public function put ($ key , $ value ): MapInterface ;
10291
10392 /**
10493 * @psalm-param string $key
10594 * @psalm-return TValue|null
106- * @psalm-immutable
95+ * @psalm-mutation-free
10796 */
10897 public function get ($ key );
10998
11099 /**
111100 * @psalm-param MapInterface<TValue> $other
112101 * @psalm-return MapInterface<TValue>
113102 * @psalm-param (Closure(TValue $a,TValue $b):int)|null $valueComparator
114- * @psalm-immutable
115103 */
116104 public function intersectAssoc (MapInterface $ other , ?callable $ valueComparator = null ): MapInterface ;
117105
118106 /**
119107 * @psalm-param MapInterface<TValue> $other
120108 * @psalm-return MapInterface<TValue>
121109 * @psalm-param (Closure(string $a,string $b):int)|null $keyComparator
122- * @psalm-immutable
123110 */
124111 public function intersectUsingKeys (MapInterface $ other , ?callable $ keyComparator = null ): MapInterface ;
125112
@@ -128,7 +115,6 @@ public function intersectUsingKeys(MapInterface $other, ?callable $keyComparator
128115 * @psalm-param (Closure(TValue $a,TValue $b):int)|null $valueComparator
129116 * @psalm-param (Closure(string $a,string $b):int)|null $keyComparator
130117 * @psalm-return MapInterface<TValue>
131- * @psalm-immutable
132118 */
133119 public function intersectUserAssoc (
134120 MapInterface $ other ,
0 commit comments