Why does Rust allow unsized value in the following code?

79 points Zohnannor
    fn main() {
        let _ = *"a" == *"b";
    }

How does this work? We are making str from &str and the str is unsized, but it compiles and runs just fine. Something tricky is going here and I don't know what exactly happens.