File tree Expand file tree Collapse file tree 1 file changed +6
-5
lines changed Expand file tree Collapse file tree 1 file changed +6
-5
lines changed Original file line number Diff line number Diff line change @@ -4,6 +4,7 @@ use std::collections::HashMap;
4
4
use std:: io:: net:: ip:: IpAddr ;
5
5
use std:: hash:: Hash ;
6
6
use std:: any:: Any ;
7
+ use std:: fmt:: Show ;
7
8
8
9
#[ deriving( PartialEq , Show , Clone ) ]
9
10
pub enum Scheme {
@@ -113,12 +114,12 @@ pub struct Response {
113
114
114
115
/// A Handler takes a request and returns a response or an error.
115
116
/// By default, a bare function implements `Handler`.
116
- pub trait Handler < E > {
117
- fn call ( & self , request : & mut Request ) -> Result < Response , E > ;
117
+ pub trait Handler {
118
+ fn call ( & self , request : & mut Request ) -> Result < Response , Box < Show > > ;
118
119
}
119
120
120
- impl < E > Handler < E > for fn ( & mut Request ) -> Result < Response , E > {
121
- fn call ( & self , request : & mut Request ) -> Result < Response , E > {
122
- ( * self ) ( request)
121
+ impl < T : ' static + Show > Handler for fn ( & mut Request ) -> Result < Response , T > {
122
+ fn call ( & self , request : & mut Request ) -> Result < Response , Box < Show > > {
123
+ { ( * self ) ( request) } . map_err ( |e| box e as Box < Show > )
123
124
}
124
125
}
You can’t perform that action at this time.
0 commit comments