Avatar ·

Diferencia entre == y === en Rust

¡Hola a todos! Recientemente empecé a estudiar Rust y me encontré con un problema inesperado al comparar valores. En algunos lenguajes (por ejemplo, JavaScript) hay dos operadores de comparación: == (con coerción de tipos) y === (comparación estricta sin coerción).

Intenté usar === en Rust para comparar strings, pero el compilador mostró un error:

fn main() {
    let a = String::from("hello");
    let b = String::from("hello");
    
    if a === b {
        println!("Iguales");
    }
}

Error: expected one of ".", ";", "?", "}", or an operator, found "=="

Esperaba que === funcionara como una comparación estricta sin coerción de tipos, pero aparentemente en Rust no existe tal operador. Sin embargo, el