Skip to content

Commit

Permalink
Merge pull request #6724 from aermicioi/master
Browse files Browse the repository at this point in the history
Fix issue 17276 added additional case for objects that do not have as root class Object.
merged-on-behalf-of: Nathan Sashihara <n8sh@users.noreply.github.com>
  • Loading branch information
dlang-bot committed Oct 1, 2018
2 parents a531a9c + 0648b87 commit da29950
Showing 1 changed file with 19 additions and 0 deletions.
19 changes: 19 additions & 0 deletions std/traits.d
Expand Up @@ -4308,6 +4308,10 @@ if (is(T == class))
{
alias BaseClassesTuple = AliasSeq!Object;
}
else static if (!is(BaseTypeTuple!T[0] == Object) && !is(BaseTypeTuple!T[0] == class))
{
alias BaseClassesTuple = AliasSeq!();
}
else
{
alias BaseClassesTuple =
Expand All @@ -4330,6 +4334,21 @@ if (is(T == class))
static assert(is(BaseClassesTuple!C3 == AliasSeq!(C2, C1, Object)));
}

@safe unittest // issue 17276
{
extern (C++) static interface Ext
{
void someext();
}

extern (C++) static class E : Ext
{
void someext() {}
}

alias BaseClassesWithNoObject = BaseClassesTuple!E;
}

@safe unittest
{
struct S { }
Expand Down

0 comments on commit da29950

Please sign in to comment.