In C and C++, volatile is a qualifier for a type. You then use that type like any other.
In Rust, there is no volatile types. There are two functions, read_volatile and write_volatile, on pointers.
Rust’s API is basically identical to the intrinsics, whereas C and C++‘s are not. This plays out with stuff like the drama around volatile compound operators being deprecated.