@@ -26,6 +26,14 @@ impl<T, E> Status<T, E> for Result<T, E>
26
26
where
27
27
E : StdError + Send + Sync + ' static ,
28
28
{
29
+ /// Wrap the error value with an additional status code.
30
+ ///
31
+ /// # Panics
32
+ ///
33
+ /// Panics if [`Status`][status] is not a valid [`StatusCode`][statuscode].
34
+ ///
35
+ /// [status]: crate::Status
36
+ /// [statuscode]: crate::StatusCode
29
37
fn status < S > ( self , status : S ) -> Result < T , Error >
30
38
where
31
39
S : TryInto < StatusCode > ,
39
47
} )
40
48
}
41
49
50
+ /// Wrap the error value with an additional status code that is evaluated
51
+ /// lazily only once an error does occur.
52
+ ///
53
+ /// # Panics
54
+ ///
55
+ /// Panics if [`Status`][status] is not a valid [`StatusCode`][statuscode].
56
+ ///
57
+ /// [status]: crate::Status
58
+ /// [statuscode]: crate::StatusCode
42
59
fn with_status < S , F > ( self , f : F ) -> Result < T , Error >
43
60
where
44
61
S : TryInto < StatusCode > ,
55
72
}
56
73
57
74
impl < T > Status < T , Infallible > for Option < T > {
75
+ /// Wrap the error value with an additional status code.
76
+ ///
77
+ /// # Panics
78
+ ///
79
+ /// Panics if [`Status`][status] is not a valid [`StatusCode`][statuscode].
80
+ ///
81
+ /// [status]: crate::Status
82
+ /// [statuscode]: crate::StatusCode
58
83
fn status < S > ( self , status : S ) -> Result < T , Error >
59
84
where
60
85
S : TryInto < StatusCode > ,
@@ -68,6 +93,15 @@ impl<T> Status<T, Infallible> for Option<T> {
68
93
} )
69
94
}
70
95
96
+ /// Wrap the error value with an additional status code that is evaluated
97
+ /// lazily only once an error does occur.
98
+ ///
99
+ /// # Panics
100
+ ///
101
+ /// Panics if [`Status`][status] is not a valid [`StatusCode`][statuscode].
102
+ ///
103
+ /// [status]: crate::Status
104
+ /// [statuscode]: crate::StatusCode
71
105
fn with_status < S , F > ( self , f : F ) -> Result < T , Error >
72
106
where
73
107
S : TryInto < StatusCode > ,
0 commit comments