Como escapar chaves em uma string de formatação no Rust?
Olá a todos! Comecei a estudar Rust recentemente e encontrei um problema ao trabalhar com a macro `format!` (e `println!` também). Preciso exibir uma string que contenha chaves literais `{` e `}`. Por exemplo, quero gerar uma saída semelhante a JSON ou simplesmente exibir uma expressão matemática como `{x: 5}`.
Tentei escrever assim:
```rust
let x = 5;
println!("{x: {}}", x);
```
Mas o compilador dá um erro: "invalid format string: expected `'}'` but string was terminated". Entendo que as chaves em Rust são usadas como placeholders para substituição de valores. Mas como faço para exibir as próprias chaves como caracteres comuns?
Tentei escapar com barra invertida `\{` — não funcionou. Tentei duplicar `{{` — o compilador começou a reclamar de outra forma. Em outras linguagens (Python, C#), eu simplesmente duplico as chaves ou uso escape. Como isso é feito corretamente em Rust?
Preciso exibir algo como:
- `{ valor: 42 }`
- Ou gerar JSON: `{"key": "value"}`
Me ajudem!