implement std::error::Error for the error type
This commit is contained in:
		
							parent
							
								
									bffb41e8a1
								
							
						
					
					
						commit
						267b741ac4
					
				
							
								
								
									
										20
									
								
								src/lib.rs
									
									
									
									
									
								
							
							
						
						
									
										20
									
								
								src/lib.rs
									
									
									
									
									
								
							| @ -348,6 +348,26 @@ fn derive_protocol(input: proc_macro2::TokenStream) -> proc_macro2::TokenStream | ||||
|                 } | ||||
|             } | ||||
|         } | ||||
|         impl ::std::error::Error for #error_enum_name { | ||||
|             fn source(&self) -> ::std::option::Option<&(dyn ::std::error::Error + 'static)> { | ||||
|                 match self { | ||||
|                     #error_enum_name::SendError(e) => ::std::option::Option::Some(e), | ||||
|                     #error_enum_name::Closed => ::std::option::Option::None, | ||||
|                 } | ||||
|             } | ||||
|             fn description(&self) -> &str { | ||||
|                 match self { | ||||
|                     #error_enum_name::SendError(_) => "Failed to send query", | ||||
|                     #error_enum_name::Closed => "Connection closed", | ||||
|                 } | ||||
|             } | ||||
|             fn cause(&self) -> ::std::option::Option<&dyn ::std::error::Error> { | ||||
|                 match self { | ||||
|                     #error_enum_name::SendError(e) => ::std::option::Option::Some(e), | ||||
|                     #error_enum_name::Closed => ::std::option::Option::None, | ||||
|                 } | ||||
|             } | ||||
|         } | ||||
|     }; | ||||
|     // Create enums for the types of messages the server and client will use
 | ||||
| 
 | ||||
|  | ||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user