www.digitalmars.com         C & C++   DMDScript  

digitalmars.D.bugs - [Issue 17818] New: Deprecation: std.container.array.RangeT(A) is not

https://issues.dlang.org/show_bug.cgi?id=17818

          Issue ID: 17818
           Summary: Deprecation: std.container.array.RangeT(A) is not
                    visiable
           Product: D
           Version: D2
          Hardware: x86
                OS: Windows
            Status: NEW
          Severity: blocker
          Priority: P1
         Component: dmd
          Assignee: nobody puremagic.com
          Reporter: vino.bheeman hotmail.com

Hi,

 A function of type "Tuple!(RangeT!(Array!string), RangeT!(Array!ulong))
coSizeDirList" is throwing deprecation warning, this is critical function of
our main function (finding size of sub folders) of 5 file system each with 10
-20 TB, this is the first test that we are using D and testing D functionality
for our feature development on cloud computing on a very large server farm. ,
and we have designed using threads and parallelism for compute speed.

Size.d(10): Deprecation: std.container.array.RangeT(A) is not visible from
module Size

Program
Tuple!(RangeT!(Array!string), RangeT!(Array!ulong)) coSizeDirList () {
    string FFs = "C:\\Temp\\sapnas2\\BACKUP";
    int SizeDir = 1;
    ulong subdirTotal;
    ulong subdirTotalGB;
    Array!(string) Subdir;
    Array!(ulong) Subsize;
    Tuple!((Array!string), (Array!string)) Result;
    auto dFiles = Array!string ((dirEntries(FFs, SpanMode.shallow).filter!(a =>
a.isDir))[].map!(a => a.name));
    foreach (d; dFiles[]) {
                auto SdFiles = Array!ulong(dirEntries(d, SpanMode.depth).map!(a
=> a.size));
                foreach(f; SdFiles[]) { subdirTotal += f; }
                subdirTotalGB = (subdirTotal/1024/1024); { Subdir ~= d; Subsize
~= subdirTotalGB; }
                if (subdirTotalGB > SizeDir)
                subdirTotal = 0;
            }
            return tuple (Subdir[], Subsize[]);

}

void main () {
    writeln(coSizeDirList[]);
    }

--
Sep 09