Skip to content

Commit 9fbf914

Browse files
committed
dedupe AlreadyUsedError code, using the properties
1 parent 18a2d77 commit 9fbf914

1 file changed

Lines changed: 6 additions & 16 deletions

File tree

src/outcome/_impl.py

Lines changed: 6 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -190,14 +190,9 @@ def peek(self) -> ValueT:
190190
return self.value
191191

192192
def unwrap(self) -> ValueT:
193-
try:
194-
v = self._value
195-
except AttributeError as e:
196-
pass
197-
else:
198-
object.__delattr__(self, "_value")
199-
return v
200-
raise AlreadyUsedError
193+
v = self.value
194+
object.__delattr__(self, "_value")
195+
return v
201196

202197
def send(self, gen: Generator[ResultT, ValueT, object]) -> ResultT:
203198
return gen.send(self.unwrap())
@@ -233,14 +228,9 @@ def __repr__(self) -> str:
233228
return 'Error(<AlreadyUsed>)'
234229

235230
def _unwrap_error(self) -> BaseException:
236-
try:
237-
v = self._error
238-
except AttributeError:
239-
pass
240-
else:
241-
object.__delattr__(self, "_error")
242-
return v
243-
raise AlreadyUsedError
231+
v = self.error
232+
object.__delattr__(self, "_error")
233+
return v
244234

245235
def peek(self) -> NoReturn:
246236
# Tracebacks show the 'raise' line below out of context, so let's give

0 commit comments

Comments
 (0)