In VHDL, it was possible to declare an object by using the range of another object. For example:
for I in my_signal’range...
This would require that the range of my_signal be fixed, but if my_signal was declared as an unconstrained type, this would result in an error. VHDL-2008 now allows this by getting the range at the time of elaboration.