Skip to content

Commit fde4584

Browse files
authored
Fix {Success, Failure}.swap returning Any (#2562)
1 parent 9808f5e commit fde4584

4 files changed

Lines changed: 28 additions & 6 deletions

File tree

‎CHANGELOG.md‎

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,12 @@ Versions before `1.0.0` are `0Ver`-based:
55
incremental in minor, bugfixes only are patches.
66
See [0Ver](https://0ver.org/).
77

8+
## 0.31.0 WIP
9+
10+
### Bugfixes
11+
12+
- Fix `{Success, Failure}.swap` returning `Any`
13+
814
## 0.30.0
915

1016
### Features

‎returns/result.py‎

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -389,9 +389,9 @@ def value_or(self, default_value):
389389
"""Returns default value for failed container."""
390390
return default_value
391391

392-
def swap(self):
393-
"""Failures swap to :class:`Success`."""
394-
return Success(self._inner_value)
392+
def swap(self):
393+
"""Failures swap to :class:`Success`."""
394+
return Success(self._inner_value)
395395

396396
def unwrap(self) -> Never:
397397
"""Raises an exception, since it does not have a value inside."""
@@ -454,9 +454,9 @@ def value_or(self, default_value):
454454
"""Returns the value for successful container."""
455455
return self._inner_value
456456

457-
def swap(self):
458-
"""Successes swap to :class:`Failure`."""
459-
return Failure(self._inner_value)
457+
def swap(self):
458+
"""Successes swap to :class:`Failure`."""
459+
return Failure(self._inner_value)
460460

461461
def unwrap(self) -> _ValueType_co:
462462
"""Returns the unwrapped value from successful container."""

‎typesafety/test_result/test_construct_failure.yml‎

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -24,3 +24,11 @@
2424
from returns.result import Failure
2525
2626
reveal_type(Failure(1).failure()) # N: Revealed type is "int"
27+
28+
29+
- case: failure_swap
30+
disable_cache: false
31+
main: |
32+
from returns.result import Failure
33+
34+
reveal_type(Failure(1).swap()) # N: Revealed type is "returns.result.Result[int, Any]"

‎typesafety/test_result/test_construct_success.yml‎

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -65,3 +65,11 @@
6565
from returns.result import Success
6666
6767
reveal_type(Success(1).unwrap()) # N: Revealed type is "int"
68+
69+
70+
- case: success_swap
71+
disable_cache: false
72+
main: |
73+
from returns.result import Success
74+
75+
reveal_type(Success(1).swap()) # N: Revealed type is "returns.result.Result[Any, int]"

0 commit comments

Comments
 (0)