mirror of
				https://github.com/rust-lang/rust.git
				synced 2025-10-31 21:16:44 +00:00 
			
		
		
		
	
		
			
				
	
	
		
			28 lines
		
	
	
		
			565 B
		
	
	
	
		
			Rust
		
	
	
	
	
	
			
		
		
	
	
			28 lines
		
	
	
		
			565 B
		
	
	
	
		
			Rust
		
	
	
	
	
	
| #![allow(non_camel_case_types)]
 | |
| #![allow(dead_code)]
 | |
| 
 | |
| #[derive(Clone, Debug)]
 | |
| enum foo {
 | |
|     a(usize),
 | |
|     b(String),
 | |
| }
 | |
| 
 | |
| fn check_log<T: std::fmt::Debug>(exp: String, v: T) {
 | |
|     assert_eq!(exp, format!("{:?}", v));
 | |
| }
 | |
| 
 | |
| #[test]
 | |
| fn log_knows_the_names_of_variants_in_std() {
 | |
|     let mut x = Some(foo::a(22));
 | |
|     let exp = "Some(a(22))".to_string();
 | |
|     let act = format!("{:?}", x);
 | |
|     assert_eq!(act, exp);
 | |
|     check_log(exp, x);
 | |
| 
 | |
|     x = None;
 | |
|     let exp = "None".to_string();
 | |
|     let act = format!("{:?}", x);
 | |
|     assert_eq!(act, exp);
 | |
|     check_log(exp, x);
 | |
| }
 | 
