Thread overview
Container Purity
Dec 09, 2015
Nordlöw
Dec 09, 2015
Nordlöw
Dec 09, 2015
Kagamin
Dec 09, 2015
Nordlöw
December 09, 2015
Is it currently possible for a container such as

https://github.com/economicmodeling/containers/blob/master/src/containers/dynamicarray.d

that uses std.experimental.container

to be completely pure? If not can be made to?

I wonder because only length(), empty(), front() and back() are tagged as pure in DynamicArray at

https://github.com/economicmodeling/containers/blob/master/src/containers/dynamicarray.d

are marked as pure. Is there a reason for this?
December 09, 2015
On Wednesday, 9 December 2015 at 10:47:18 UTC, Nordlöw wrote:
> that uses std.experimental.container

Correction: I mean std.experimental.allocator
December 09, 2015
Allocators usually use global state. Such code is usually treated as impure.
December 09, 2015
On Wednesday, 9 December 2015 at 11:46:45 UTC, Kagamin wrote:
> Allocators usually use global state. Such code is usually treated as impure.

What about containers that store their own local allocator? Will DMD infer all members of such containers to be pure if they only access locally allocated structures?