mirror of
https://github.com/dlang/phobos.git
synced 2025-04-26 05:00:35 +03:00
User hyperlinks to refer to bugzilla issues (#8766)
This commit is contained in:
parent
f2ea143b49
commit
5cd77a6e32
17 changed files with 46 additions and 45 deletions
|
@ -2026,7 +2026,7 @@ private struct ChunkByGroup(alias eq, Range, bool eqEquivalenceAssured)
|
|||
}
|
||||
}
|
||||
|
||||
// Cannot be a copy constructor due to issue 22239
|
||||
// Cannot be a copy constructor due to https://issues.dlang.org/show_bug.cgi?id=22239
|
||||
this(this) @trusted
|
||||
{
|
||||
import core.lifetime : emplace;
|
||||
|
@ -2128,7 +2128,7 @@ if (isForwardRange!Range)
|
|||
}();
|
||||
}
|
||||
|
||||
// Cannot be a copy constructor due to issue 22239
|
||||
// Cannot be a copy constructor due to https://issues.dlang.org/show_bug.cgi?id=22239
|
||||
this(this) @trusted
|
||||
{
|
||||
import core.lifetime : emplace;
|
||||
|
|
|
@ -3049,7 +3049,7 @@ if (isBlitAssignable!T && !is(typeof(lhs.proxySwap(rhs))))
|
|||
swap(b1, b2);
|
||||
}
|
||||
|
||||
// issue 20732
|
||||
// https://issues.dlang.org/show_bug.cgi?id=20732
|
||||
@safe unittest
|
||||
{
|
||||
static struct A
|
||||
|
|
|
@ -1282,7 +1282,7 @@ if (isInputRange!R &&
|
|||
|
||||
@safe pure unittest
|
||||
{
|
||||
//example from issue 19727
|
||||
//example from https://issues.dlang.org/show_bug.cgi?id=19727
|
||||
import std.path : asRelativePath;
|
||||
string[] ext = ["abc", "def", "ghi"];
|
||||
string path = "/foo/file.def";
|
||||
|
@ -2309,7 +2309,7 @@ private R1 simpleMindedFind(alias pred, R1, R2)(R1 haystack, scope R2 needle)
|
|||
@safe:
|
||||
string _impl;
|
||||
|
||||
// This is what triggers issue 7992.
|
||||
// This is what triggers https://issues.dlang.org/show_bug.cgi?id=7992.
|
||||
@property size_t length() const { return _impl.length; }
|
||||
@property void length(size_t len) { _impl.length = len; }
|
||||
|
||||
|
@ -2322,7 +2322,7 @@ private R1 simpleMindedFind(alias pred, R1, R2)(R1 haystack, scope R2 needle)
|
|||
@property CustomString save() { return this; }
|
||||
}
|
||||
|
||||
// If issue 7992 occurs, this will throw an exception from calling
|
||||
// If https://issues.dlang.org/show_bug.cgi?id=7992 occurs, this will throw an exception from calling
|
||||
// popFront() on an empty range.
|
||||
auto r = find(CustomString("a"), CustomString("b"));
|
||||
assert(r.empty);
|
||||
|
|
|
@ -1066,7 +1066,7 @@ Complex!T asin(T)(Complex!T z) @safe pure nothrow @nogc
|
|||
{
|
||||
import std.math.operations : isClose;
|
||||
import std.math.constants : PI;
|
||||
version (DigitalMars) {} else // Disabled because of issue 21376
|
||||
version (DigitalMars) {} else // Disabled because of https://issues.dlang.org/show_bug.cgi?id=21376
|
||||
assert(isClose(asin(complex(0.5f)), float(PI) / 6));
|
||||
}
|
||||
|
||||
|
@ -1092,7 +1092,7 @@ Complex!T acos(T)(Complex!T z) @safe pure nothrow @nogc
|
|||
{
|
||||
import std.math.operations : isClose;
|
||||
import std.math.constants : PI;
|
||||
version (DigitalMars) {} else // Disabled because of issue 21376
|
||||
version (DigitalMars) {} else // Disabled because of https://issues.dlang.org/show_bug.cgi?id=21376
|
||||
assert(isClose(acos(complex(0.5f)), float(PI) / 3));
|
||||
}
|
||||
|
||||
|
|
|
@ -1566,7 +1566,7 @@ if (!is(immutable T == immutable bool))
|
|||
r2[0 .. 0] += 0;
|
||||
}
|
||||
|
||||
// Test issue 11194
|
||||
// Test https://issues.dlang.org/show_bug.cgi?id=11194
|
||||
@system unittest
|
||||
{
|
||||
static struct S {
|
||||
|
|
22
std/conv.d
22
std/conv.d
|
@ -209,14 +209,14 @@ template to(T)
|
|||
return toImpl!T(args);
|
||||
}
|
||||
|
||||
// Fix issue 6175
|
||||
// Fix https://issues.dlang.org/show_bug.cgi?id=6175
|
||||
T to(S)(ref S arg)
|
||||
if (isStaticArray!S)
|
||||
{
|
||||
return toImpl!T(arg);
|
||||
}
|
||||
|
||||
// Fix issue 16108
|
||||
// Fix https://issues.dlang.org/show_bug.cgi?id=16108
|
||||
T to(S)(ref S arg)
|
||||
if (isAggregateType!S && !isCopyable!S)
|
||||
{
|
||||
|
@ -423,7 +423,7 @@ template to(T)
|
|||
assert(c == "abcx");
|
||||
}
|
||||
|
||||
// Tests for issue 6175
|
||||
// Tests for https://issues.dlang.org/show_bug.cgi?id=6175
|
||||
@safe pure nothrow unittest
|
||||
{
|
||||
char[9] sarr = "blablabla";
|
||||
|
@ -432,7 +432,7 @@ template to(T)
|
|||
assert(sarr.length == darr.length);
|
||||
}
|
||||
|
||||
// Tests for issue 7348
|
||||
// Tests for https://issues.dlang.org/show_bug.cgi?id=7348
|
||||
@safe pure /+nothrow+/ unittest
|
||||
{
|
||||
assert(to!string(null) == "null");
|
||||
|
@ -454,7 +454,7 @@ template to(T)
|
|||
assert(text("a", s) == "aS");
|
||||
}
|
||||
|
||||
// Tests for issue 11390
|
||||
// Tests for https://issues.dlang.org/show_bug.cgi?id=11390
|
||||
@safe pure /+nothrow+/ unittest
|
||||
{
|
||||
const(typeof(null)) ctn;
|
||||
|
@ -463,7 +463,7 @@ template to(T)
|
|||
assert(to!string(itn) == "null");
|
||||
}
|
||||
|
||||
// Tests for issue 8729: do NOT skip leading WS
|
||||
// Tests for https://issues.dlang.org/show_bug.cgi?id=8729: do NOT skip leading WS
|
||||
@safe pure unittest
|
||||
{
|
||||
import std.exception;
|
||||
|
@ -1370,7 +1370,7 @@ if (is (T == immutable) && isExactSomeString!T && is(S == enum))
|
|||
S2 s2;
|
||||
assert(to!string(s2) == "S2(42, 43.5)");
|
||||
|
||||
// Test for issue 8080
|
||||
// Test for https://issues.dlang.org/show_bug.cgi?id=8080
|
||||
struct S8080
|
||||
{
|
||||
short[4] data;
|
||||
|
@ -1972,7 +1972,7 @@ $(UL
|
|||
private T toImpl(T, S)(S value)
|
||||
if (isInputRange!S && isSomeChar!(ElementEncodingType!S) &&
|
||||
!isExactSomeString!T && is(typeof(parse!T(value))) &&
|
||||
// issue 20539
|
||||
// https://issues.dlang.org/show_bug.cgi?id=20539
|
||||
!(is(T == enum) && is(typeof(value == OriginalType!T.init)) && !isSomeString!(OriginalType!T)))
|
||||
{
|
||||
scope(success)
|
||||
|
@ -5560,7 +5560,7 @@ private bool isHexLiteral(String)(scope const String hexData)
|
|||
static assert( ("5A 01A C FF de 1b"d).isHexLiteral);
|
||||
static assert( ("0123456789abcdefABCDEF"d).isHexLiteral);
|
||||
static assert( (" 012 34 5 6789 abcd ef\rAB\nCDEF"d).isHexLiteral);
|
||||
// library version allows what's pointed by issue 10454
|
||||
// library version allows what's pointed by https://issues.dlang.org/show_bug.cgi?id=10454
|
||||
static assert( ("FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF").isHexLiteral);
|
||||
}
|
||||
|
||||
|
@ -5931,7 +5931,7 @@ if ((radix == 2 || radix == 8 || radix == 10 || radix == 16) &&
|
|||
}
|
||||
}
|
||||
|
||||
@safe unittest // opSlice (issue 16192)
|
||||
@safe unittest // opSlice (https://issues.dlang.org/show_bug.cgi?id=16192)
|
||||
{
|
||||
import std.meta : AliasSeq;
|
||||
|
||||
|
@ -5959,7 +5959,7 @@ if ((radix == 2 || radix == 8 || radix == 10 || radix == 16) &&
|
|||
for (; !r.empty; r.popFront(), ++i)
|
||||
{
|
||||
assert(original[i .. original.length].tupleof == r.tupleof);
|
||||
// tupleof is used to work around issue 16216.
|
||||
// tupleof is used to work around https://issues.dlang.org/show_bug.cgi?id=16216.
|
||||
}
|
||||
|
||||
// opSlice vs popBack
|
||||
|
|
|
@ -1035,7 +1035,7 @@ Params:
|
|||
|
||||
Bugs:
|
||||
The function is explicitly annotated `@nogc` because inference could fail,
|
||||
see $(LINK2 https://issues.dlang.org/show_bug.cgi?id=17084, issue 17084).
|
||||
see $(LINK2 https://issues.dlang.org/show_bug.cgi?id=17084, Bugzilla issue 17084).
|
||||
|
||||
Returns: `true` if `source`'s representation embeds a pointer
|
||||
that points to `target`'s representation or somewhere inside
|
||||
|
|
|
@ -827,7 +827,7 @@ version (StdUnittest)
|
|||
|
||||
// Both sequences must work on either system
|
||||
|
||||
// A sequence of allocs which generates the error described in issue 16564
|
||||
// A sequence of allocs which generates the error described in https://issues.dlang.org/show_bug.cgi?id=16564
|
||||
// that is a gap at the end of buf from the perspective of the allocator
|
||||
|
||||
// for 64 bit systems (leftover balance = 8 bytes < 16)
|
||||
|
|
|
@ -1449,7 +1449,7 @@ if (is(T == float) || is(T == double)
|
|||
assert(printFloat(-0.1L, f) == "-1.000000e-01");
|
||||
assert(printFloat(10.0L, f) == "1.000000e+01");
|
||||
assert(printFloat(-10.0L, f) == "-1.000000e+01");
|
||||
version (Windows) {} // issue 20972
|
||||
version (Windows) {} // https://issues.dlang.org/show_bug.cgi?id=20972
|
||||
else
|
||||
{
|
||||
assert(printFloat(1e4000L, f) == "1.000000e+4000");
|
||||
|
@ -1472,7 +1472,7 @@ if (is(T == float) || is(T == double)
|
|||
{
|
||||
// log2 is broken for x87-reals on some computers in CTFE
|
||||
// the following tests excludes these computers from the tests
|
||||
// (issue 21757)
|
||||
// (https://issues.dlang.org/show_bug.cgi?id=21757)
|
||||
enum test = cast(int) log2(3.05e2312L);
|
||||
static if (real.mant_dig == 64 && test == 7681)
|
||||
{
|
||||
|
@ -2120,7 +2120,7 @@ if (is(T == float) || is(T == double)
|
|||
assert(printFloat(-0.1L, f) == "-0.100000");
|
||||
assert(printFloat(10.0L, f) == "10.000000");
|
||||
assert(printFloat(-10.0L, f) == "-10.000000");
|
||||
version (Windows) {} // issue 20972
|
||||
version (Windows) {} // https://issues.dlang.org/show_bug.cgi?id=20972
|
||||
else
|
||||
{
|
||||
auto result1 = printFloat(1e4000L, f);
|
||||
|
@ -2145,7 +2145,7 @@ if (is(T == float) || is(T == double)
|
|||
{
|
||||
// log2 is broken for x87-reals on some computers in CTFE
|
||||
// the following tests excludes these computers from the tests
|
||||
// (issue 21757)
|
||||
// (https://issues.dlang.org/show_bug.cgi?id=21757)
|
||||
enum test = cast(int) log2(3.05e2312L);
|
||||
static if (real.mant_dig == 64 && test == 7681)
|
||||
{
|
||||
|
@ -2803,7 +2803,7 @@ if (is(T == float) || is(T == double)
|
|||
assert(printFloat(-0.1L, f) == "-0.1");
|
||||
assert(printFloat(10.0L, f) == "10");
|
||||
assert(printFloat(-10.0L, f) == "-10");
|
||||
version (Windows) {} // issue 20972
|
||||
version (Windows) {} // https://issues.dlang.org/show_bug.cgi?id=20972
|
||||
else
|
||||
{
|
||||
assert(printFloat(1e4000L, f) == "1e+4000");
|
||||
|
@ -2826,7 +2826,7 @@ if (is(T == float) || is(T == double)
|
|||
{
|
||||
// log2 is broken for x87-reals on some computers in CTFE
|
||||
// the following tests excludes these computers from the tests
|
||||
// (issue 21757)
|
||||
// (https://issues.dlang.org/show_bug.cgi?id=21757)
|
||||
enum test = cast(int) log2(3.05e2312L);
|
||||
static if (real.mant_dig == 64 && test == 7681)
|
||||
{
|
||||
|
|
|
@ -738,7 +738,7 @@ if (is(FloatingPointTypeOf!T) && !is(T == enum) && !hasToString!(T, Char))
|
|||
assert(FloatingPointControl.rounding == FloatingPointControl.roundToNearest);
|
||||
}
|
||||
|
||||
// issue 20320
|
||||
// https://issues.dlang.org/show_bug.cgi?id=20320
|
||||
real a = 0.16;
|
||||
real b = 0.016;
|
||||
assert(format("%.1f", a) == "0.2");
|
||||
|
@ -749,7 +749,7 @@ if (is(FloatingPointTypeOf!T) && !is(T == enum) && !hasToString!(T, Char))
|
|||
assert(format("%.1f", a1) == "0.2");
|
||||
assert(format("%.2f", b1) == "0.02");
|
||||
|
||||
// issue 9889
|
||||
// https://issues.dlang.org/show_bug.cgi?id=9889
|
||||
assert(format("%.1f", 0.09) == "0.1");
|
||||
assert(format("%.1f", -0.09) == "-0.1");
|
||||
assert(format("%.1f", 0.095) == "0.1");
|
||||
|
@ -907,7 +907,7 @@ if (is(FloatingPointTypeOf!T) && !is(T == enum) && !hasToString!(T, Char))
|
|||
|
||||
// log2 is broken for x87-reals on some computers in CTFE
|
||||
// the following test excludes these computers from the test
|
||||
// (issue 21757)
|
||||
// (https://issues.dlang.org/show_bug.cgi?id=21757)
|
||||
enum test = cast(int) log2(3.05e2312L);
|
||||
static if (real.mant_dig == 64 && test == 7681) // 80 bit reals
|
||||
{
|
||||
|
@ -3334,7 +3334,7 @@ if (isSomeString!T1 && isSomeString!T2 && isSomeString!T3 && isSomeString!T4)
|
|||
long fractsWidth = fracts.length; // TODO: does not take graphemes into account
|
||||
long suffixWidth;
|
||||
|
||||
// TODO: remove this workaround which hides issue 21815
|
||||
// TODO: remove this workaround which hides https://issues.dlang.org/show_bug.cgi?id=21815
|
||||
if (f.width > 0)
|
||||
{
|
||||
prefixWidth = getWidth(prefix);
|
||||
|
|
|
@ -1950,7 +1950,7 @@ if (isFloatingPoint!T)
|
|||
|
||||
// log2 is broken for x87-reals on some computers in CTFE
|
||||
// the following test excludes these computers from the test
|
||||
// (issue 21757)
|
||||
// (https://issues.dlang.org/show_bug.cgi?id=21757)
|
||||
enum test = cast(int) log2(3.05e2312L);
|
||||
static if (F.realFormat == RealFormat.ieeeExtended && test == 7681)
|
||||
{
|
||||
|
|
|
@ -1595,7 +1595,7 @@ if (isSomeChar!C)
|
|||
|
||||
@safe unittest
|
||||
{
|
||||
// Test for issue 7397
|
||||
// Test for https://issues.dlang.org/show_bug.cgi?id=7397
|
||||
string[] ary = ["a", "b"];
|
||||
version (Posix)
|
||||
{
|
||||
|
@ -1875,7 +1875,7 @@ if (isSomeChar!C)
|
|||
|
||||
@safe unittest
|
||||
{
|
||||
// Test for issue 7397
|
||||
// Test for https://issues.dlang.org/show_bug.cgi?id=7397
|
||||
string[] ary = ["a", "b"];
|
||||
version (Posix)
|
||||
{
|
||||
|
@ -3572,7 +3572,8 @@ if (isConvertibleToString!Range)
|
|||
assert(!globMatch("foo.bar", "[gh]???bar"));
|
||||
assert(!globMatch("foo.bar"w, "[!fg]*bar"w));
|
||||
assert(!globMatch("foo.bar"d, "[fg]???baz"d));
|
||||
assert(!globMatch("foo.di", "*.d")); // test issue 6634: triggered bad assertion
|
||||
// https://issues.dlang.org/show_bug.cgi?id=6634
|
||||
assert(!globMatch("foo.di", "*.d")); // triggered bad assertion
|
||||
|
||||
assert(globMatch("foo.bar", "{foo,bif}.bar"));
|
||||
assert(globMatch("bif.bar"w, "{foo,bif}.bar"w));
|
||||
|
|
|
@ -2842,7 +2842,7 @@ auto ref choice(Range)(ref Range range)
|
|||
"Choice did not return a valid element from the given Range");
|
||||
}
|
||||
|
||||
@safe unittest // issue 18631
|
||||
@safe unittest // https://issues.dlang.org/show_bug.cgi?id=18631
|
||||
{
|
||||
auto rng = MinstdRand0(42);
|
||||
const a = [0,1,2];
|
||||
|
@ -2855,7 +2855,7 @@ auto ref choice(Range)(ref Range range)
|
|||
auto z1 = choice(cast(const)[1, 2, 3], rng);
|
||||
}
|
||||
|
||||
@safe unittest // Ref range (issue 18631 PR)
|
||||
@safe unittest // Ref range (https://issues.dlang.org/show_bug.cgi?id=18631 PR)
|
||||
{
|
||||
struct TestRange
|
||||
{
|
||||
|
|
|
@ -10339,7 +10339,7 @@ if (!is(CommonType!Values == void))
|
|||
/// ditto
|
||||
auto only()()
|
||||
{
|
||||
// cannot use noreturn due to issue 22383
|
||||
// cannot use noreturn due to https://issues.dlang.org/show_bug.cgi?id=22383
|
||||
struct EmptyElementType {}
|
||||
EmptyElementType[] result;
|
||||
return result;
|
||||
|
|
|
@ -624,7 +624,7 @@ void linkin() { }
|
|||
a.value6 = 46;
|
||||
}
|
||||
|
||||
// Triggers bug from issue 15341
|
||||
// Triggers bug from https://issues.dlang.org/show_bug.cgi?id=15341
|
||||
@system unittest
|
||||
{
|
||||
class Observer
|
||||
|
@ -666,7 +666,7 @@ version (none) // Disabled because of https://issues.dlang.org/show_bug.cgi?id=5
|
|||
}
|
||||
}
|
||||
|
||||
// Triggers bug from issue 16249
|
||||
// Triggers bug from https://issues.dlang.org/show_bug.cgi?id=16249
|
||||
@system unittest
|
||||
{
|
||||
class myLINE
|
||||
|
|
|
@ -550,7 +550,7 @@ Throws: `ErrnoException` if the file could not be opened.
|
|||
stdioOpenmode, "'")),
|
||||
name);
|
||||
|
||||
// MSVCRT workaround (issue 14422)
|
||||
// MSVCRT workaround (https://issues.dlang.org/show_bug.cgi?id=14422)
|
||||
version (MICROSOFT_STDIO)
|
||||
{
|
||||
setAppendWin(stdioOpenmode);
|
||||
|
@ -708,7 +708,7 @@ Throws: `ErrnoException` in case of error.
|
|||
{
|
||||
auto handle = _p.handle;
|
||||
_p.handle = null;
|
||||
// fclose disassociates the FILE* even in case of error (issue 19751)
|
||||
// fclose disassociates the FILE* even in case of error (https://issues.dlang.org/show_bug.cgi?id=19751)
|
||||
errnoEnforce(.fclose(handle) == 0,
|
||||
"Could not close file `"~_name~"'");
|
||||
}
|
||||
|
@ -3795,7 +3795,7 @@ void main()
|
|||
assert(std.file.readText!string(deleteme) == "y");
|
||||
}
|
||||
|
||||
@safe unittest // issue 18801
|
||||
@safe unittest // https://issues.dlang.org/show_bug.cgi?id=18801
|
||||
{
|
||||
static import std.file;
|
||||
import std.string : stripLeft;
|
||||
|
|
|
@ -5337,7 +5337,7 @@ package template isBlitAssignable(T)
|
|||
enum isBlitAssignable = isBlitAssignable!(OriginalType!T);
|
||||
}
|
||||
else static if (isStaticArray!T && is(T == E[n], E, size_t n))
|
||||
// Workaround for issue 11499 : isStaticArray!T should not be necessary.
|
||||
// Workaround for https://issues.dlang.org/show_bug.cgi?id=11499 : isStaticArray!T should not be necessary.
|
||||
{
|
||||
enum isBlitAssignable = isBlitAssignable!E;
|
||||
}
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue