поэтому первая проблема здесь в том, что ваш макрос ожидает шаблон «A», а не переменную, которая содержит «A»
, когда вы создаете макросы, вы определяете определенные шаблоны и следуйте этим шаблонам в вашем случае, ваш макрос всегда должен содержать «A», но это не строка a, это шаблон двойной кавычки, за которым следует заглавная буква a, а затем еще одна двойная кавычка
Если вы хотите передать значение, вы должны использовать переменный синтаксис и определите, чего следует ожидать, например, ($a:expr)=>{...}
здесь вы можете увидеть все возможные токены волхвов c, просто прокрутите немного вниз, на этом документе есть много замечательных примеров
PS. вот макрос, который я использую для ответа от моих конечных точек
macro_rules! resp {
(ok) => {
|_| actix_web::HttpResponse::Ok().body(r#"{"success":true}"#)
};
(ok,$data:expr) => {
|_| actix_web::HttpResponse::Ok().json(serde_json::json!({"success":true,"data":$data}))
};
(ok,) => {
|d| actix_web::HttpResponse::Ok().json(serde_json::json!({"success":true,"data":d}))
};
}