On 11/15/21 10:56 AM, WebFreak001 wrote:
I have an API with some struct like a file reader. I want to add
byChunks-like functionality to it, so I'm trying to implement it with a
helper struct that implements opApply. I have disabled copying the file
reader struct because it cleans up the resources once it goes out of
scope, however now I need to temporarily save the resources in the
helper struct to be able to read from it.
How can I make sure that the foreach helper struct (and with that the
copies of the resources) cannot be used once the owning struct goes out
of scope?
```d
ByChunk helper;
{
auto file = FileReader(x);
helper = file.byChunk;
}
helper.popFront; // crash - I want the compiler to disallow this
```
is this currently possible or maybe possible with DIP1000?
Or maybe just use reference counting to avoid the problem altogether.
That's what iopipe/std.io does.
-Steve