20.10 Pedantic mode limitations
20.10.0.1 Constant values are sometimes uncomputable
Pedantic mode attempts to evaluate expressions down to literal values so that they can be used to generate warnings. For example, in the code normal(x, 1 - 2)
, the expression 1 - 2
will be evaluated to -1
, which is not a valid variance argument so a warning is generated. However, this strategy is limited; it is often impossible to fully evaluate expressions in finite time.
20.10.0.2 Container types
Currently, indexed variables are not handled intelligently, so they are treated as monolithic variables. Each analysis treats indexed variables conservatively (erring toward generating fewer warnings).
20.10.0.3 Data variables
The declaration information for data
variables is currently not considered, so using data
as incompatible arguments to distributions may not generate the appropriate warnings.
20.10.0.4 Control flow dependent on parameters in nested functions
If a parameter is passed as an argument to a user-defined function within another user-defined function, and then some control flow depends on that argument, the appropriate warning will not be thrown.