diff --git a/CHANGELOG.md b/CHANGELOG.md index 5ef7f703..f0b9d325 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -5,6 +5,12 @@ Versions before `1.0.0` are `0Ver`-based: incremental in minor, bugfixes only are patches. See [0Ver](https://0ver.org/). +## 0.31.0 WIP + +### Bugfixes + +- Fix `{Success, Failure}.swap` returning `Any` + ## 0.30.0 ### Features diff --git a/returns/result.py b/returns/result.py index 860bfa30..47043236 100644 --- a/returns/result.py +++ b/returns/result.py @@ -389,9 +389,9 @@ def value_or(self, default_value): """Returns default value for failed container.""" return default_value - def swap(self): - """Failures swap to :class:`Success`.""" - return Success(self._inner_value) + def swap(self): + """Failures swap to :class:`Success`.""" + return Success(self._inner_value) def unwrap(self) -> Never: """Raises an exception, since it does not have a value inside.""" @@ -454,9 +454,9 @@ def value_or(self, default_value): """Returns the value for successful container.""" return self._inner_value - def swap(self): - """Successes swap to :class:`Failure`.""" - return Failure(self._inner_value) + def swap(self): + """Successes swap to :class:`Failure`.""" + return Failure(self._inner_value) def unwrap(self) -> _ValueType_co: """Returns the unwrapped value from successful container.""" diff --git a/typesafety/test_result/test_construct_failure.yml b/typesafety/test_result/test_construct_failure.yml index f4156e25..3de16a33 100644 --- a/typesafety/test_result/test_construct_failure.yml +++ b/typesafety/test_result/test_construct_failure.yml @@ -24,3 +24,11 @@ from returns.result import Failure reveal_type(Failure(1).failure()) # N: Revealed type is "int" + + +- case: failure_swap + disable_cache: false + main: | + from returns.result import Failure + + reveal_type(Failure(1).swap()) # N: Revealed type is "returns.result.Result[int, Any]" diff --git a/typesafety/test_result/test_construct_success.yml b/typesafety/test_result/test_construct_success.yml index 7d0ed672..e28705f8 100644 --- a/typesafety/test_result/test_construct_success.yml +++ b/typesafety/test_result/test_construct_success.yml @@ -65,3 +65,11 @@ from returns.result import Success reveal_type(Success(1).unwrap()) # N: Revealed type is "int" + + +- case: success_swap + disable_cache: false + main: | + from returns.result import Success + + reveal_type(Success(1).swap()) # N: Revealed type is "returns.result.Result[Any, int]"