fix(rustup): update lifetime bounds
Send no longer implies 'static; update needed lifetime bounds.
This commit is contained in:
		
				
					committed by
					
						 Sean McArthur
						Sean McArthur
					
				
			
			
				
	
			
			
			
						parent
						
							e8833c0c89
						
					
				
				
					commit
					f4a66b38cb
				
			| @@ -22,7 +22,7 @@ impl<S: Scheme> DerefMut for Authorization<S> { | ||||
|     } | ||||
| } | ||||
|  | ||||
| impl<S: Scheme> Header for Authorization<S> { | ||||
| impl<S: Scheme + 'static> Header for Authorization<S> { | ||||
|     fn header_name() -> &'static str { | ||||
|         "Authorization" | ||||
|     } | ||||
| @@ -43,7 +43,7 @@ impl<S: Scheme> Header for Authorization<S> { | ||||
|     } | ||||
| } | ||||
|  | ||||
| impl<S: Scheme> HeaderFormat for Authorization<S> { | ||||
| impl<S: Scheme + 'static> HeaderFormat for Authorization<S> { | ||||
|     fn fmt_header(&self, fmt: &mut fmt::Formatter) -> fmt::Result { | ||||
|         match Scheme::scheme(None::<S>) { | ||||
|             Some(scheme) => try!(write!(fmt, "{} ", scheme)), | ||||
|   | ||||
| @@ -58,7 +58,7 @@ pub trait NetworkAcceptor: Clone + Send { | ||||
| } | ||||
|  | ||||
| /// An iterator wrapper over a NetworkAcceptor. | ||||
| pub struct NetworkConnections<'a, N: NetworkAcceptor>(&'a mut N); | ||||
| pub struct NetworkConnections<'a, N: NetworkAcceptor + 'a>(&'a mut N); | ||||
|  | ||||
| impl<'a, N: NetworkAcceptor> Iterator for NetworkConnections<'a, N> { | ||||
|     type Item = IoResult<N::Stream>; | ||||
|   | ||||
| @@ -7,7 +7,7 @@ pub struct AcceptorPool<A: NetworkAcceptor> { | ||||
|     acceptor: A | ||||
| } | ||||
|  | ||||
| impl<A: NetworkAcceptor> AcceptorPool<A> { | ||||
| impl<A: NetworkAcceptor + 'static> AcceptorPool<A> { | ||||
|     /// Create a thread pool to manage the acceptor. | ||||
|     pub fn new(acceptor: A) -> AcceptorPool<A> { | ||||
|         AcceptorPool { acceptor: acceptor } | ||||
| @@ -18,9 +18,8 @@ impl<A: NetworkAcceptor> AcceptorPool<A> { | ||||
|     /// ## Panics | ||||
|     /// | ||||
|     /// Panics if threads == 0. | ||||
|     pub fn accept<F: Fn(A::Stream) + Send + Sync>(self, | ||||
|                                                   work: F, | ||||
|                                                   threads: usize) -> JoinGuard<'static, ()> { | ||||
|     pub fn accept<F>(self, work: F, threads: usize) -> JoinGuard<'static, ()> | ||||
|         where F: Fn(A::Stream) + Send + Sync + 'static { | ||||
|         assert!(threads != 0, "Can't accept on 0 threads."); | ||||
|  | ||||
|         // Replace with &F when Send changes land. | ||||
| @@ -40,8 +39,8 @@ impl<A: NetworkAcceptor> AcceptorPool<A> { | ||||
| } | ||||
|  | ||||
| fn spawn_with<A, F>(supervisor: mpsc::Sender<()>, work: Arc<F>, mut acceptor: A) | ||||
| where A: NetworkAcceptor, | ||||
|       F: Fn(<A as NetworkAcceptor>::Stream) + Send + Sync { | ||||
| where A: NetworkAcceptor + 'static, | ||||
|       F: Fn(<A as NetworkAcceptor>::Stream) + Send + Sync + 'static { | ||||
|     use std::old_io::EndOfFile; | ||||
|  | ||||
|     Thread::spawn(move || { | ||||
| @@ -83,7 +82,7 @@ impl<T: Send> Sentinel<T> { | ||||
| } | ||||
|  | ||||
| #[unsafe_destructor] | ||||
| impl<T: Send> Drop for Sentinel<T> { | ||||
| impl<T: Send + 'static> Drop for Sentinel<T> { | ||||
|     fn drop(&mut self) { | ||||
|         // If we were cancelled, get out of here. | ||||
|         if !self.active { return; } | ||||
|   | ||||
| @@ -56,7 +56,7 @@ impl Server<HttpListener> { | ||||
|  | ||||
| impl< | ||||
| L: NetworkListener<Acceptor=A> + Send, | ||||
| A: NetworkAcceptor<Stream=S> + Send, | ||||
| A: NetworkAcceptor<Stream=S> + Send + 'static, | ||||
| S: NetworkStream + Clone + Send> Server<L> { | ||||
|     /// Creates a new server that will handle `HttpStream`s. | ||||
|     pub fn with_listener(ip: IpAddr, port: Port, listener: L) -> Server<L> { | ||||
| @@ -68,7 +68,7 @@ S: NetworkStream + Clone + Send> Server<L> { | ||||
|     } | ||||
|  | ||||
|     /// Binds to a socket, and starts handling connections using a task pool. | ||||
|     pub fn listen_threads<H: Handler>(mut self, handler: H, threads: usize) -> HttpResult<Listening<L::Acceptor>> { | ||||
|     pub fn listen_threads<H: Handler + 'static>(mut self, handler: H, threads: usize) -> HttpResult<Listening<L::Acceptor>> { | ||||
|         debug!("binding to {:?}:{:?}", self.ip, self.port); | ||||
|         let acceptor = try!(self.listener.listen((self.ip, self.port))); | ||||
|         let socket = try!(acceptor.socket_name()); | ||||
| @@ -85,7 +85,7 @@ S: NetworkStream + Clone + Send> Server<L> { | ||||
|     } | ||||
|  | ||||
|     /// Binds to a socket and starts handling connections. | ||||
|     pub fn listen<H: Handler>(self, handler: H) -> HttpResult<Listening<L::Acceptor>> { | ||||
|     pub fn listen<H: Handler + 'static>(self, handler: H) -> HttpResult<Listening<L::Acceptor>> { | ||||
|         self.listen_threads(handler, os::num_cpus() * 5 / 4) | ||||
|     } | ||||
|  | ||||
|   | ||||
		Reference in New Issue
	
	Block a user