Ticket #157 (new enhancement)
Do a more fine-grained dangerous variables check
|Reported by:||benl||Owned by:|
|Component:||Source Type Inferencer||Version:||0.1.2|
At the moment, if we have a data type like
data Thing r1 (C r2 (Int r3)) (Int r4) ...
If r1 is mutable then all of r2, r3, r4 are marked as dangerous. However, If these variables are non-material in the type, then we don't actually have to mark them as dangerous.
NB: If we do this we'll also want to test for and reject nested data types, as the current algorithm for determining which variables are dangerous doesn't support them.