Merge pull request #5790 from dlang/9il-patch-1

allow n=0 for std.meta.Repeat
merged-on-behalf-of: MetaLang <MetaLang@users.noreply.github.com>
This commit is contained in:
The Dlang Bot 2017-10-18 17:24:19 +02:00 committed by GitHub
commit 05e65e6086

View file

@ -1317,9 +1317,12 @@ private template SmartAlias(T...)
* Creates an `AliasSeq` which repeats a type or an `AliasSeq` exactly `n` times.
*/
template Repeat(size_t n, TList...)
if (n > 0)
{
static if (n == 1)
static if (n == 0)
{
alias Repeat = AliasSeq!();
}
else static if (n == 1)
{
alias Repeat = AliasSeq!TList;
}
@ -1344,6 +1347,9 @@ if (n > 0)
///
@safe unittest
{
alias ImInt0 = Repeat!(0, int);
static assert(is(ImInt0 == AliasSeq!()));
alias ImInt1 = Repeat!(1, immutable(int));
static assert(is(ImInt1 == AliasSeq!(immutable(int))));