[Issue 16203] New: std.signals connect() error
via Digitalmars-d-bugs
digitalmars-d-bugs at puremagic.com
Fri Jun 24 21:04:18 PDT 2016
https://issues.dlang.org/show_bug.cgi?id=16203
Issue ID: 16203
Summary: std.signals connect() error
Product: D
Version: D2
Hardware: x86_64
OS: Linux
Status: NEW
Severity: normal
Priority: P1
Component: phobos
Assignee: nobody at puremagic.com
Reporter: nmtigor.wang at googlemail.com
Hello,
my test codes are as follows:
==============
module dtest;
import std.signals;
struct SIG {}
class C1
{
void watch( SIG ) {}
void delegate(T1) createWatcher( T1 )()
{
return delegate void( T1 sig ) { watch( sig ); };
}
}
class C2
{
mixin Signal!SIG;
}
unittest
{
auto c1 = new C1;
auto c2 = new C2;
auto slot = c1.createWatcher!SIG;
c2.connect( slot );
}
==============
When I run "rdmd -main -unittest dtest", it outputs following messages:
/tmp/.rdmd-1000/rdmd-dtest.d-1873AE3B357FD0F111512F17802663A4/dtest(_D4core7runtime18runModuleUnitTestsUZ19unittestSegvHandlerUNbiPS4core3sys5posix6signal9siginfo_tPvZv+0x38)[0x45f67c]
/lib/x86_64-linux-gnu/libpthread.so.0(+0x113d0)[0x7f97e53a03d0]
段错误 (核心已转储)
These messages are too vague. The source code of connect() also looks magic. I
have no idea of what's wrong.
--
More information about the Digitalmars-d-bugs
mailing list