In My Opinion
The problem with
is is that it's too general. If someone sees a new sigil then they know "ok this has a specific definition to Rust".
is implies being. And has a lot of locality context. English speakers will lump more meaning onto it than non-native speakers and not on purpose, just through constant overuse.
IIRC the only language to get
is right is Python because it compares the underlying pointers. If you really want to give Rust an
is operator then it would need to be used for this case and this case only.
let x = 5; let x_ref = &x; assert_is!(&x, x_ref);