digitalmars.D.bugs - [Issue 16203] New: std.signals connect() error
- via Digitalmars-d-bugs (46/46) Jun 24 2016 https://issues.dlang.org/show_bug.cgi?id=16203
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 puremagic.com Reporter: nmtigor.wang 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. --
Jun 24 2016