Pass first argument to msg! as a unquoted literal
This commit is contained in:
		
							parent
							
								
									ab3c28ff37
								
							
						
					
					
						commit
						3ab9cedbcd
					
				| @ -62,7 +62,7 @@ impl Client { | ||||
|                 let game_controller = Arc::new(Mutex::new(game_controller)); | ||||
|                 self.global_state.rooms.lock().await.insert(room_code.clone(), Arc::clone(&game_controller)); | ||||
|                 tokio::spawn(async move {game_loop(game_controller)}); | ||||
|                 self.ws.send(msg!("ROOM_CODE", room_code)).await.unwrap(); | ||||
|                 self.ws.send(msg!(ROOM_CODE, room_code)).await.unwrap(); | ||||
|             } | ||||
|             "JOIN" => { | ||||
|                 let room_code = &msg.args[0]; | ||||
| @ -75,10 +75,10 @@ impl Client { | ||||
|                         let (client_channel, server_channel) = channel_pair(); | ||||
|                         self.channel = Some(client_channel); | ||||
|                         room.channels.push(server_channel); | ||||
|                         self.ws.send(msg!("JOIN_OK")).await.unwrap(); | ||||
|                         self.ws.send(msg!(JOIN_OK)).await.unwrap(); | ||||
|                     } | ||||
|                     None => { | ||||
|                         self.ws.send(msg!("JOIN_INVALID")).await.unwrap(); | ||||
|                         self.ws.send(msg!(JOIN_INVALID)).await.unwrap(); | ||||
|                     } | ||||
|                 } | ||||
|             } | ||||
|  | ||||
| @ -83,16 +83,16 @@ impl MessageWebSocket { | ||||
| 
 | ||||
| #[macro_export] | ||||
| macro_rules! msg { | ||||
|     ( $command:expr) => { | ||||
|     ( $command:ident) => { | ||||
| 	{ | ||||
| 	    let command = $command.to_string(); | ||||
| 	    let command = stringify!($command).to_string(); | ||||
| 	    let args = vec![]; | ||||
| 	    Message { command, args } | ||||
| 	} | ||||
|     }; | ||||
|     ( $command:expr, $( $arg:expr ),*) => { | ||||
|     ( $command:ident, $( $arg:expr ),*) => { | ||||
| 	{ | ||||
| 	    let command = $command.to_string(); | ||||
| 	    let command = stringify!($command).to_string(); | ||||
| 	    let args = vec![$($arg.to_string()),*]; | ||||
| 	    Message { command, args } | ||||
| 	} | ||||
| @ -117,12 +117,12 @@ mod test { | ||||
|     fn test_parse() -> Result<()> { | ||||
| 	let text = "COMMAND: arg1, arg2"; | ||||
| 	let msg = Message::parse(text.to_string())?; | ||||
| 	assert_eq!(msg!("COMMAND", "arg1", "arg2"), msg); | ||||
| 	assert_eq!(msg!(COMMAND, "arg1", "arg2"), msg); | ||||
| 	Ok(()) | ||||
|     } | ||||
|     #[test] | ||||
|     fn test_to_string() { | ||||
|         let msg = msg!("COMMAND", "arg1", "arg2"); | ||||
|         let msg = msg!(COMMAND, "arg1", "arg2"); | ||||
| 	assert_eq!(msg.to_string(), "COMMAND: arg1, arg2".to_string()); | ||||
|     } | ||||
| } | ||||
|  | ||||
		Loading…
	
		Reference in New Issue
	
	Block a user