Opaque: Check for self-assignment of Raw pointer

otherwise the Opaque could be free-ed