If I have an aliasing T *restrict, but it is never used, is this considered undefined-behavior. Or is undefined behavior at the point of use.
For example
int *nothing = NULL;
int *restrict also_nothing = NULL;
Here I have two unused pointers both NULL. However, one of them is restrict... Is this not technically UB?
Finally, doesn't this effectively mean that T *restricts are practically speaking never NULL?