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.
THIS ISSUE HAS BEEN MOVED TO GITHUB https://github.com/dlang/phobos/issues/10186 DO NOT COMMENT HERE ANYMORE, NOBODY WILL SEE IT, THIS ISSUE HAS BEEN MOVED TO GITHUB