No, 'short is a generic parameter. It can take on the "value" 'static, or any other duration. The only requirements in this code is that the duration of the outside reference is no longer than 'short...
// v call the elided lifetime `'r`
fn check_covariant<'short>(_: &Node<'short>, _ : &'short mut u8) {}
// There's an implied `'short: 'r` bound
(which is trivial to satisfy due to variance), and that the two 'short durations are equal.
In the call to the function:
let node = &Node::default(); // &'something Node<'something>
let temp: &'static mut _ = Box::leak(Box::new(0));
check_covariant(node, temp);
'something is invariant in Node<'something> but otherwise needs only be valid at the call site, temp can be reborrowed or coerced to produce a &'something mut u8 due to variance, and the outer "'r" lifetime can be anything shorter than 'something.
You can force 'something to be 'static with an annotation and it will still work.
The call requires temp to be reborrowed as or coerced to a &'something mut u8, but that's no problem since it's a &'static mut u8 and the lifetime of a &'_ mut T is covariant. It can coerce to something with any lifetime, no matter how short.
Here's a version where the requirements that the two lifetimes be the same causes a compilation failure.
fn check<'short>(_: &Node<'short>, _ : &'short mut u8) {}
fn main() {
let node = &Node::<'static>::default();
let mut local = 0;
let temp = &mut local;
check(node, temp);
}
The invariance of Node combined with the equality requirement means that the call requires temp to be a &'static mut u8, but that in turn would mean that local was still borrowed when it goes out of scope. The end result is a borrow checker error.
(As others discussed there are better setups for testing variance, but perhaps this will help you understand how the signature in question works.)