Cómo verificar si un proyecto está compilado en modo debug o release usando cfg en Rust
¡Hola a todos! Acabo de empezar a aprender Rust y estoy tratando de entender la compilación condicional. Necesito que, dependiendo de si compilo el proyecto en modo debug o release, se ejecute código diferente. Por ejemplo, en debug quiero imprimir mucha información de depuración, y en release solo logs mínimos. Sé que en C/C++ hay macros como `#ifdef DEBUG`, pero ¿cómo se hace esto en Rust?
He intentado usar `#[cfg(debug_assertions)]`, pero no entiendo del todo cómo funciona. Aquí hay un ejemplo de mi código:
```rust
fn main() {
#[cfg(debug_assertions)]
println!("Debug build");
#[cfg(not(debug_assertions))]
println!("Release build");
}
```
Este código funciona, pero he oído que `debug_assertions` puede comportarse de manera inesperada en algunos casos. Por ejemplo, ¿si ejecuto tests o benchmarks? ¿O si compilo con `--release`, eso garantiza que sea release?
También he visto menciones sobre `profile = "release"` y `profile = "debug"` en atributos `cfg`. ¿Cuál es la dife