swap isAssignable and !hasElaborateAssign

This commit is contained in:
monarchdodra 2014-02-09 18:30:14 +01:00
parent 5930a3c183
commit 95152081f3
2 changed files with 7 additions and 7 deletions

View file

@ -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;

View file

@ -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
{