mirror of
https://github.com/dlang/phobos.git
synced 2025-04-29 14:40:30 +03:00
swap isAssignable and !hasElaborateAssign
This commit is contained in:
parent
5930a3c183
commit
95152081f3
2 changed files with 7 additions and 7 deletions
|
@ -7202,7 +7202,7 @@ minCount(alias pred = "a < b", Range)(Range range)
|
|||
}
|
||||
return RetType(least.front, occurrences);
|
||||
}
|
||||
else static if (isAssignable!(UT, T) || (isAssignable!UT && !hasElaborateAssign!UT))
|
||||
else static if (isAssignable!(UT, T) || (!hasElaborateAssign!UT && isAssignable!UT))
|
||||
{
|
||||
UT v = UT.init;
|
||||
static if (isAssignable!(UT, T)) v = range.front;
|
||||
|
|
12
std/conv.d
12
std/conv.d
|
@ -3811,7 +3811,7 @@ if (!is(T == struct) && Args.length == 1)
|
|||
static if (is(Arg : T))
|
||||
{
|
||||
//Matching static array
|
||||
static if (isAssignable!(T, Arg) && !hasElaborateAssign!T)
|
||||
static if (!hasElaborateAssign!T && isAssignable!(T, Arg))
|
||||
chunk = arg;
|
||||
else static if (is(UArg == T))
|
||||
{
|
||||
|
@ -3825,7 +3825,7 @@ if (!is(T == struct) && Args.length == 1)
|
|||
else static if (is(Arg : E[]))
|
||||
{
|
||||
//Matching dynamic array
|
||||
static if (is(typeof(chunk[] = arg[])) && !hasElaborateAssign!T)
|
||||
static if (!hasElaborateAssign!T && is(typeof(chunk[] = arg[])))
|
||||
chunk[] = arg[];
|
||||
else static if (is(UArg == E[]))
|
||||
{
|
||||
|
@ -3840,7 +3840,7 @@ if (!is(T == struct) && Args.length == 1)
|
|||
else static if (is(Arg : E))
|
||||
{
|
||||
//Case matching single element to array.
|
||||
static if (is(typeof(chunk[] = arg)) && !hasElaborateAssign!T)
|
||||
static if (!hasElaborateAssign!T && is(typeof(chunk[] = arg)))
|
||||
chunk[] = arg;
|
||||
else static if (is(UArg == E))
|
||||
{
|
||||
|
@ -3860,7 +3860,7 @@ if (!is(T == struct) && Args.length == 1)
|
|||
//Final case for everything else:
|
||||
//Types that don't match (int to uint[2])
|
||||
//Recursion for multidimensions
|
||||
static if (is(typeof(chunk[] = arg)) && !hasElaborateAssign!T)
|
||||
static if (!hasElaborateAssign!T && is(typeof(chunk[] = arg)))
|
||||
chunk[] = arg;
|
||||
else
|
||||
foreach(i; 0 .. N)
|
||||
|
@ -3891,7 +3891,7 @@ if (is(T == struct))
|
|||
static if (is(T == Unqual!(Args[0])))
|
||||
{
|
||||
//Types match exactly: we postblit
|
||||
static if (isAssignable!T && !hasElaborateAssign!T)
|
||||
static if (!hasElaborateAssign!T && isAssignable!T)
|
||||
chunk = args[0];
|
||||
else
|
||||
{
|
||||
|
@ -3946,7 +3946,7 @@ if (is(T == struct))
|
|||
//emplace helper functions
|
||||
private ref T emplaceInitializer(T)(ref T chunk) @trusted pure nothrow
|
||||
{
|
||||
static if (isAssignable!T && !hasElaborateAssign!T)
|
||||
static if (!hasElaborateAssign!T && isAssignable!T)
|
||||
chunk = T.init;
|
||||
else
|
||||
{
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue