ERROR | illegal use of a type before its declaration |
CAUSE | A variable or constant was declared to be of a type whose declaration appears later in the compilation unit; or, a type or subtype was declared in terms of another type whose declaration appears later in the compilation unit. |
ACTION | Ensure that the type declaration preceeds its use in the variable/ constant/type declaration. |