6.6.3.2 For a value parameter, it is an error if the actual-parameter is an expression of a set-type whose value is not assignment compatible with the type possessed by the formal-parameter.
In other words, when you pass set values into formal parameters, during a function or procedure call, the values must be assignment compatible with the type of the formal parameters into which they are passed. If you think about it, this makes sense since passing a value into a formal parameter is very much like assigning the value to the formal parameter.
This error is reported if range checking is enabled.