Avatar ·

O que significa o operador r#""# em Rust para literais de string?

Olá, colegas! Recentemente comecei a estudar Rust e me deparei com uma sintaxe que é completamente incompreensível para mim. Em um projeto, vi o seguinte código:\n\n```rust\nlet json = r#"{"name": "John", "age": 30}"#;\nlet path = r"C:\\Program Files\\MyApp";\nlet regex = r"\\d{3}-\\d{2}-\\d{4}";\n```\n\nEu entendo que `r` antes da string é um raw string literal, que não processa escape sequences. Mas o que significa `r#""#`? Por que são necessários os `#` ao redor das aspas? E por que pode haver vários, como `r##"..."##`?\n\nTentei substituir `r#"..."#` por um `r"..."` comum, mas o compilador gerou um erro. Na documentação oficial, encontrei uma menção de que isso está relacionado ao escape de aspas dentro da string, mas havia poucos exemplos.\n\nEspecificamente, estou interessado em:\n1. Como funciona `r#""#` e