ndslice and limits of debug info and autocompletion

Ilya via Digitalmars-d-learn digitalmars-d-learn at puremagic.com
Mon Dec 21 18:56:54 PST 2015


On Tuesday, 22 December 2015 at 00:21:16 UTC, Jay Norwood wrote:
> I'm trying to determine if the debugger autocompletion would be 
> useful in combination with ndslice.   I find that using visualD 
> I get offered no completion to select core_ctr or epu_ctr where 
> epu_ctr is used in the writeln below.
>
> I take it this either means that there is some basic limitation 
> in the debug info, or else VisualD just punts after some number 
> of array subscripts.
>
> The code builds and executes correctly ... but I was hoping the 
> debugger completion would help out with an exploratory mode 
> using compiled code.
>
> import std.stdio;
> import std.experimental.ndslice;
> import std.experimental.ndslice.iteration: transposed;
> struct sample{
> 	ulong [10] core_ctr;
> 	ulong [32] epu_ctr;
> }
>
>
> void main() {
> 	auto a1 = new sample[60];
> 	auto t3 = a1.sliced!(ReplaceArrayWithPointer.no)(3,4,5);
> 	writeln(t3[0][0][0].epu_ctr);
> }

I don't know how VisualD works, but to provide auto-completion it 
should be able to compile a source code for autocompletion 
information, because simple analyzer would not work with variadic 
templates like opIndex(Indexes...)(Indexes indexes).

Nitpick: t3[0][0][0] is much slower than t3[0, 0, 0].

Best,
Ilya




More information about the Digitalmars-d-learn mailing list