Thank you for the kind reply.
So when we write a reference, there is no insurance about what the lifetime really are?
Does it in some way conflict with the discussion in Lifetime(a) = lifetime(b) iff (a=b)?. If the discussion in that post is true, then we might be able to discriminate different variable with their lifetime, which is just what I'm trying to do.
In order to exploit the problem further, in that post, I construct a more strange situation where references to different variables share same lifetime.
If the compiler is free to choose a lifetime that make a given code works, then can we deliberately fix a lifetime so as to discriminate two variable? Unfortunately &mut &'a T
approach doesn't work, the code could still be compiled. Is there any way to do that?