I pulled down the std.experimental.ndslice examples and am attempting to build some of the examples and understand the types being used.

I know don't need all these imports, but it is hard to guess which ones are needed, and the examples often don't provide them, which I suspect is a common gripe here.

Anyway, I was expecting to be able to use the typeof pragma to print a type that could use as a fully specified type, and that doesn't seem to be the case. I get a compile error instead.

DMD32 D Compiler v2.069.2 on win32, "dip80-ndslice": "~>0.8.4"

Is there some other way to get a valid fully specified type for these sliced auto variables?

import std.stdio;
import std.experimental.ndslice;

void main() {
    import std.algorithm.iteration: map;
    import std.array: array;
    import std.range;
    import std.traits;
    auto t0 = 1000.iota.sliced(3, 4, 5);

    pragma(msg, typeof(t0));
    Slice!(3u, Result) = 1000.iota.sliced(3, 4, 5);

Slice!(3u, Result)
src\app.d(12,2): Error: undefined identifier 'Result'
dmd failed with exit code 1.

Reply via email to