@@ -761,7 +761,7 @@ private void removeImpl(const(char)[] name, const(FSChar)* namez) @trusted
761761}
762762
763763version (Windows ) private WIN32_FILE_ATTRIBUTE_DATA getFileAttributesWin(R)(R name)
764- if (isInputRange! R && isSomeChar! (ElementEncodingType! R))
764+ if (isInputRange! R && ! isInfinite ! R && isSomeChar! (ElementEncodingType! R))
765765{
766766 auto namez = name.tempCString! FSChar();
767767
@@ -1020,7 +1020,7 @@ version(StdDdoc)
10201020 out SysTime fileCreationTime,
10211021 out SysTime fileAccessTime,
10221022 out SysTime fileModificationTime)
1023- if (isInputRange! R && isSomeChar! (ElementEncodingType! R) &&
1023+ if (isInputRange! R && ! isInfinite ! R && isSomeChar! (ElementEncodingType! R) &&
10241024 ! isConvertibleToString! R);
10251025}
10261026else version (Windows )
@@ -1029,7 +1029,7 @@ else version(Windows)
10291029 out SysTime fileCreationTime,
10301030 out SysTime fileAccessTime,
10311031 out SysTime fileModificationTime)
1032- if (isInputRange! R && isSomeChar! (ElementEncodingType! R) &&
1032+ if (isInputRange! R && ! isInfinite ! R && isSomeChar! (ElementEncodingType! R) &&
10331033 ! isConvertibleToString! R)
10341034 {
10351035 with (getFileAttributesWin(name))
@@ -1437,7 +1437,7 @@ version (OSX) {} else
14371437 * true if the filename specified as input exists
14381438 */
14391439bool exists (R)(R name)
1440- if (isInputRange! R && isSomeChar! (ElementEncodingType! R) &&
1440+ if (isInputRange! R && ! isInfinite ! R && isSomeChar! (ElementEncodingType! R) &&
14411441 ! isConvertibleToString! R)
14421442{
14431443 return existsImpl (name.tempCString! FSChar());
@@ -1522,7 +1522,7 @@ private bool existsImpl(const(FSChar)* namez) @trusted nothrow @nogc
15221522 Throws: $(D FileException) on error.
15231523 +/
15241524uint getAttributes (R)(R name)
1525- if (isInputRange! R && isSomeChar! (ElementEncodingType! R) &&
1525+ if (isInputRange! R && ! isInfinite ! R && isSomeChar! (ElementEncodingType! R) &&
15261526 ! isConvertibleToString! R)
15271527{
15281528 version (Windows )
@@ -1592,7 +1592,7 @@ uint getAttributes(R)(auto ref R name)
15921592 $(D FileException) on error.
15931593 +/
15941594uint getLinkAttributes (R)(R name)
1595- if (isInputRange! R && isSomeChar! (ElementEncodingType! R) &&
1595+ if (isInputRange! R && ! isInfinite ! R && isSomeChar! (ElementEncodingType! R) &&
15961596 ! isConvertibleToString! R)
15971597{
15981598 version (Windows )
@@ -1638,7 +1638,7 @@ uint getLinkAttributes(R)(auto ref R name)
16381638 $(D FileException) if the given file does not exist.
16391639 +/
16401640void setAttributes (R)(R name, uint attributes)
1641- if (isInputRange! R && isSomeChar! (ElementEncodingType! R) &&
1641+ if (isInputRange! R && ! isInfinite ! R && isSomeChar! (ElementEncodingType! R) &&
16421642 ! isConvertibleToString! R)
16431643{
16441644 version (Windows )
@@ -1700,7 +1700,7 @@ assert("/usr/share/include".isDir);
17001700--------------------
17011701 +/
17021702@property bool isDir(R)(R name)
1703- if (isInputRange! R && isSomeChar! (ElementEncodingType! R) &&
1703+ if (isInputRange! R && ! isInfinite ! R && isSomeChar! (ElementEncodingType! R) &&
17041704 ! isConvertibleToString! R)
17051705{
17061706 version (Windows )
@@ -1850,7 +1850,7 @@ assert(!"/usr/share/include".isFile);
18501850--------------------
18511851 +/
18521852@property bool isFile(R)(R name)
1853- if (isInputRange! R && isSomeChar! (ElementEncodingType! R) &&
1853+ if (isInputRange! R && ! isInfinite ! R && isSomeChar! (ElementEncodingType! R) &&
18541854 ! isConvertibleToString! R)
18551855{
18561856 version (Windows )
@@ -1984,7 +1984,7 @@ bool attrIsFile(uint attributes) @safe pure nothrow @nogc
19841984 $(D FileException) if the given file does not exist.
19851985 +/
19861986@property bool isSymlink(R)(R name)
1987- if (isInputRange! R && isSomeChar! (ElementEncodingType! R) &&
1987+ if (isInputRange! R && ! isInfinite ! R && isSomeChar! (ElementEncodingType! R) &&
19881988 ! isConvertibleToString! R)
19891989{
19901990 version (Windows )
@@ -2112,7 +2112,7 @@ bool attrIsSymlink(uint attributes) @safe pure nothrow @nogc
21122112 * Throws: $(D FileException) on error.
21132113 */
21142114void chdir (R)(R pathname)
2115- if (isInputRange! R && isSomeChar! (ElementEncodingType! R) &&
2115+ if (isInputRange! R && ! isInfinite ! R && isSomeChar! (ElementEncodingType! R) &&
21162116 ! isConvertibleToString! R)
21172117{
21182118 // Place outside of @trusted block
@@ -2157,7 +2157,7 @@ Throws: $(D FileException) on Posix or $(D WindowsException) on Windows
21572157 if an error occured.
21582158 */
21592159void mkdir (R)(R pathname)
2160- if (isInputRange! R && isSomeChar! (ElementEncodingType! R) &&
2160+ if (isInputRange! R && ! isInfinite ! R && isSomeChar! (ElementEncodingType! R) &&
21612161 ! isConvertibleToString! R)
21622162{
21632163 // Place outside of @trusted block
@@ -2308,7 +2308,7 @@ Params:
23082308Throws: $(D FileException) on error.
23092309 */
23102310void rmdir (R)(R pathname)
2311- if (isInputRange! R && isSomeChar! (ElementEncodingType! R) &&
2311+ if (isInputRange! R && ! isInfinite ! R && isSomeChar! (ElementEncodingType! R) &&
23122312 ! isConvertibleToString! R)
23132313{
23142314 // Place outside of @trusted block
@@ -2363,14 +2363,14 @@ void rmdir(R)(auto ref R pathname)
23632363 exists).
23642364 +/
23652365version (StdDdoc) void symlink(RO , RL )(RO original, RL link)
2366- if ((isInputRange! RO && isSomeChar! (ElementEncodingType! RO ) ||
2366+ if ((isInputRange! RO && ! isInfinite ! RO && isSomeChar! (ElementEncodingType! RO ) ||
23672367 isConvertibleToString! RO ) &&
2368- (isInputRange! RL && isSomeChar! (ElementEncodingType! RL ) ||
2368+ (isInputRange! RL && ! isInfinite ! RL && isSomeChar! (ElementEncodingType! RL ) ||
23692369 isConvertibleToString! RL ));
23702370else version (Posix ) void symlink(RO , RL )(RO original, RL link)
2371- if ((isInputRange! RO && isSomeChar! (ElementEncodingType! RO ) ||
2371+ if ((isInputRange! RO && ! isInfinite ! RO && isSomeChar! (ElementEncodingType! RO ) ||
23722372 isConvertibleToString! RO ) &&
2373- (isInputRange! RL && isSomeChar! (ElementEncodingType! RL ) ||
2373+ (isInputRange! RL && ! isInfinite ! RL && isSomeChar! (ElementEncodingType! RL ) ||
23742374 isConvertibleToString! RL ))
23752375{
23762376 static if (isConvertibleToString! RO || isConvertibleToString! RL )
@@ -2452,10 +2452,10 @@ version(Posix) @safe unittest
24522452 $(D FileException) on error.
24532453 +/
24542454version (StdDdoc) string readLink(R)(R link)
2455- if (isInputRange! R && isSomeChar! (ElementEncodingType! R) ||
2455+ if (isInputRange! R && ! isInfinite ! R && isSomeChar! (ElementEncodingType! R) ||
24562456 isConvertibleToString! R);
24572457else version (Posix ) string readLink(R)(R link)
2458- if (isInputRange! R && isSomeChar! (ElementEncodingType! R) ||
2458+ if (isInputRange! R && ! isInfinite ! R && isSomeChar! (ElementEncodingType! R) ||
24592459 isConvertibleToString! R)
24602460{
24612461 static if (isConvertibleToString! R)
@@ -3298,8 +3298,8 @@ Params:
32983298Throws: $(D FileException) on error.
32993299 */
33003300void copy (RF , RT )(RF from, RT to, PreserveAttributes preserve = preserveAttributesDefault)
3301- if (isInputRange! RF && isSomeChar! (ElementEncodingType! RF ) && ! isConvertibleToString! RF &&
3302- isInputRange! RT && isSomeChar! (ElementEncodingType! RT ) && ! isConvertibleToString! RT )
3301+ if (isInputRange! RF && ! isInfinite ! RF && isSomeChar! (ElementEncodingType! RF ) && ! isConvertibleToString! RF &&
3302+ isInputRange! RT && ! isInfinite ! RT && isSomeChar! (ElementEncodingType! RT ) && ! isConvertibleToString! RT )
33033303{
33043304 // Place outside of @trusted block
33053305 auto fromz = from.tempCString! FSChar();
0 commit comments