Skip to content

Commit

Permalink
Simplify anySatisfy and allSatisfy further
Browse files Browse the repository at this point in the history
  • Loading branch information
Per Nordlöw authored and dlang-bot committed May 10, 2021
1 parent 04b1003 commit fe4556f
Showing 1 changed file with 12 additions and 18 deletions.
30 changes: 12 additions & 18 deletions src/core/internal/traits.d
Original file line number Diff line number Diff line change
Expand Up @@ -185,28 +185,22 @@ template dtorIsNothrow(T)
}

// taken from std.meta.allSatisfy
template allSatisfy(alias pred, items...)
enum allSatisfy(alias pred, items...) =
{
enum allSatisfy =
{
static foreach (item; items)
static if (!pred!item)
if (__ctfe) return false;
return true;
}();
}
static foreach (item; items)
static if (!pred!item)
if (__ctfe) return false;
return true;
}();

// taken from std.meta.anySatisfy
template anySatisfy(alias pred, items...)
enum anySatisfy(alias pred, items...) =
{
enum anySatisfy =
{
static foreach (item; items)
static if (pred!item)
if (__ctfe) return true;
return false;
}();
}
static foreach (item; items)
static if (pred!item)
if (__ctfe) return true;
return false;
}();

// simplified from std.traits.maxAlignment
template maxAlignment(Ts...)
Expand Down

0 comments on commit fe4556f

Please sign in to comment.