@@ -233,7 +233,7 @@ Throws: $(LREF FileException) on error.
233233 */
234234
235235void [] read (R)(R name, size_t upTo = size_t .max)
236- if (isInputRange! R && isSomeChar! (ElementEncodingType! R) &&
236+ if (isInputRange! R && isSomeChar! (ElementEncodingType! R) && ! isInfinite ! R &&
237237 ! isConvertibleToString! R)
238238{
239239 static if (isNarrowString! R && is (Unqual! (ElementEncodingType! R) == char ))
@@ -420,7 +420,7 @@ decoding error.
420420
421421S readText (S = string , R)(R name)
422422 if (isSomeString! S &&
423- (isInputRange! R && isSomeChar! (ElementEncodingType! R) || isSomeString! R) &&
423+ (isInputRange! R && ! isInfinite ! R && isSomeChar! (ElementEncodingType! R) || isSomeString! R) &&
424424 ! isConvertibleToString! R)
425425{
426426 import std.utf : validate;
@@ -463,7 +463,7 @@ Throws: $(D FileException) on error.
463463See_also: $(REF toFile, std,stdio)
464464 */
465465void write (R)(R name, const void [] buffer)
466- if ((isInputRange! R && isSomeChar! (ElementEncodingType! R) || isSomeString! R) &&
466+ if ((isInputRange! R && ! isInfinite ! R && isSomeChar! (ElementEncodingType! R) || isSomeString! R) &&
467467 ! isConvertibleToString! R)
468468{
469469 static if (isNarrowString! R && is (Unqual! (ElementEncodingType! R) == char ))
@@ -507,7 +507,7 @@ Params:
507507Throws: $(D FileException) on error.
508508 */
509509void append (R)(R name, const void [] buffer)
510- if ((isInputRange! R && isSomeChar! (ElementEncodingType! R) || isSomeString! R) &&
510+ if ((isInputRange! R && ! isInfinite ! R && isSomeChar! (ElementEncodingType! R) || isSomeString! R) &&
511511 ! isConvertibleToString! R)
512512{
513513 static if (isNarrowString! R && is (Unqual! (ElementEncodingType! R) == char ))
@@ -625,8 +625,10 @@ version(Windows) private void writeImpl(const(char)[] name, const(FSChar)* namez
625625 * Throws: $(D FileException) on error.
626626 */
627627void rename (RF , RT )(RF from, RT to)
628- if ((isInputRange! RF && isSomeChar! (ElementEncodingType! RF ) || isSomeString! RF ) && ! isConvertibleToString! RF &&
629- (isInputRange! RT && isSomeChar! (ElementEncodingType! RT ) || isSomeString! RT ) && ! isConvertibleToString! RT )
628+ if ((isInputRange! RF && ! isInfinite! RF && isSomeChar! (ElementEncodingType! RF ) || isSomeString! RF )
629+ && ! isConvertibleToString! RF &&
630+ (isInputRange! RT && ! isInfinite! RT && isSomeChar! (ElementEncodingType! RT ) || isSomeString! RT )
631+ && ! isConvertibleToString! RT )
630632{
631633 // Place outside of @trusted block
632634 auto fromz = from.tempCString! FSChar();
@@ -717,7 +719,7 @@ Params:
717719Throws: $(D FileException) on error.
718720 */
719721void remove (R)(R name)
720- if (isInputRange! R && isSomeChar! (ElementEncodingType! R) &&
722+ if (isInputRange! R && ! isInfinite ! R && isSomeChar! (ElementEncodingType! R) &&
721723 ! isConvertibleToString! R)
722724{
723725 static if (isNarrowString! R && is (Unqual! (ElementEncodingType! R) == char ))
@@ -808,7 +810,7 @@ Params:
808810Throws: $(D FileException) on error (e.g., file not found).
809811 */
810812ulong getSize (R)(R name)
811- if (isInputRange! R && isSomeChar! (ElementEncodingType! R) &&
813+ if (isInputRange! R && ! isInfinite ! R && isSomeChar! (ElementEncodingType! R) &&
812814 ! isConvertibleToString! R)
813815{
814816 version (Windows )
@@ -894,7 +896,7 @@ private SysTime statTimeToStdTime(char which)(ref stat_t statbuf)
894896void getTimes (R)(R name,
895897 out SysTime accessTime,
896898 out SysTime modificationTime)
897- if (isInputRange! R && isSomeChar! (ElementEncodingType! R) &&
899+ if (isInputRange! R && ! isInfinite ! R && isSomeChar! (ElementEncodingType! R) &&
898900 ! isConvertibleToString! R)
899901{
900902 version (Windows )
@@ -1133,7 +1135,7 @@ version(Windows) @system unittest
11331135void setTimes (R)(R name,
11341136 SysTime accessTime,
11351137 SysTime modificationTime)
1136- if (isInputRange! R && isSomeChar! (ElementEncodingType! R) &&
1138+ if (isInputRange! R && ! isInfinite ! R && isSomeChar! (ElementEncodingType! R) &&
11371139 ! isConvertibleToString! R)
11381140{
11391141 version (Windows )
@@ -1276,7 +1278,7 @@ void setTimes(R)(auto ref R name,
12761278 $(D FileException) if the given file does not exist.
12771279+/
12781280SysTime timeLastModified (R)(R name)
1279- if (isInputRange! R && isSomeChar! (ElementEncodingType! R) &&
1281+ if (isInputRange! R && ! isInfinite ! R && isSomeChar! (ElementEncodingType! R) &&
12801282 ! isConvertibleToString! R)
12811283{
12821284 version (Windows )
@@ -1349,7 +1351,7 @@ else
13491351--------------------
13501352+/
13511353SysTime timeLastModified (R)(R name, SysTime returnIfMissing)
1352- if (isInputRange! R && isSomeChar! (ElementEncodingType! R))
1354+ if (isInputRange! R && ! isInfinite ! R && isSomeChar! (ElementEncodingType! R))
13531355{
13541356 version (Windows )
13551357 {
0 commit comments