vec![1,2,3]
컴파일러가 매크로 입력 토큰을 받습니다.
입력 토큰이 패턴에 맞게 캡처되고 반복 확장을 거쳐 실제 Rust 코드로 바뀌는 흐름입니다.
컴파일러가 매크로 입력 토큰을 받습니다.
각 표현식을 $x:expr로 캡처합니다.
캡처된 항목 수만큼 push 코드를 만듭니다.
temp_vec 생성과 push 호출로 풀립니다.
확장된 일반 Rust 코드가 다시 검사됩니다.
macro_rules!는 문자열 치환이 아니라 토큰 패턴을 매칭해 컴파일 전에 안전한 Rust 코드를 만들어 내는 규칙입니다.