mirror of
https://github.com/dlang/dmd.git
synced 2025-04-26 13:10:12 +03:00
Fix Issue 24066 - __traits(isAbstractClass) causes a segfault when passed an opaque class (#15495)
* Fix Issue 24066 - __traits(isAbstractClass) causes a segfault when passed an opaque class * Update comment Co-authored-by: Dennis <dkorpel@users.noreply.github.com> --------- Co-authored-by: Dennis <dkorpel@users.noreply.github.com>
This commit is contained in:
parent
7f6019988b
commit
1291d0558f
2 changed files with 15 additions and 0 deletions
|
@ -877,6 +877,10 @@ extern (C++) class ClassDeclaration : AggregateDeclaration
|
|||
return 0;
|
||||
}
|
||||
|
||||
// opaque class is not abstract if it is not declared abstract
|
||||
if (!members)
|
||||
return no();
|
||||
|
||||
for (size_t i = 0; i < members.length; i++)
|
||||
{
|
||||
auto s = (*members)[i];
|
||||
|
|
11
compiler/test/compilable/test24066.d
Normal file
11
compiler/test/compilable/test24066.d
Normal file
|
@ -0,0 +1,11 @@
|
|||
// https://issues.dlang.org/show_bug.cgi?id=24066
|
||||
|
||||
/*
|
||||
TEST_OUTPUT:
|
||||
---
|
||||
false
|
||||
---
|
||||
*/
|
||||
|
||||
class C;
|
||||
pragma(msg, __traits(isAbstractClass, C));
|
Loading…
Add table
Add a link
Reference in a new issue