What    |Removed                     |Added
                 CC|                            |

--- Comment #5 from 2012-06-02 08:22:14 PDT ---
(In reply to comment #0)

> I see the only two ways to document it properly (yes, the main problem is with
> `h` function):

>  * once pure function accepts a pointer it is considered depending on all
> process memory;

That would work, but would probably be too limiting.

 * Allow only dereferencing the pointer, disallow any kind of indexing. Note
it's not trivial, as pointer arithmetic should still work. But probably doable,
by disallowing dereferencing at all, and making a special exception for
accessing via an unmodified argument. This would also have to work recursively,
so it basically comes down to introducing a special kind of pointer, that
behaves a bit more like a reference. The alternatives are the ones you listed,
either banning pointers or assuming the function depends on everything -
neither is really acceptable. A pure function shouldn't deal with unbounded
arrays, so this kind of restriction should be fine (the alternative is to have
to slice everything, which is not a sane solution, eg when working with
pointers to structs)

Configure issuemail:
------- You are receiving this mail because: -------

Reply via email to