[Issue 11937] Unresolved Symbol when template is instantiated as default value for function in another module

d-bugmail at puremagic.com d-bugmail at puremagic.com
Thu Jan 16 08:48:57 PST 2014


https://d.puremagic.com/issues/show_bug.cgi?id=11937



--- Comment #1 from Orvid King <blah38621 at gmail.com> 2014-01-16 08:48:54 PST ---
(In reply to comment #0)
> I wish I could think of a shorter name for this, but oh well. This is an issue
> caused by one of the PRs merged within the last 24 hours. After reducing my
> codebase with dustmite, this is what I get:
> 
> --------------
> Analyst.d:
> import socket.io;
> 
> class Analyst
> {
> public:
>     Event!(void delegate()) Exit;
>     this()
> {
>             this.Exit();
>         }}
> --------------
> event.d:
> module std.event;
> 
> struct Event(OPTS...)
> {
>     import std.functional ;
>     import std.traits ;
> 
> alias DelegateType = OPTS;
>     void opOpAssign(string op )(DelegateType )
>     {
>     }
> static void rethrowExceptionHandler(DelegateType , Exception ) { }
>     auto opCall(ParameterTypeTuple!DelegateType , void delegate(DelegateType,
> Exception) = toDelegate(&rethrowExceptionHandler))
>     {
>     }
> }
> --------------
> io.d: (not originally included in the dustmite process, running it again with
> this included now, will update this issue when that finishes.)
> module socket.io;
> 
> import std.event : Event;
> --------------
> 
> 
> Yes, I know I'm triggering a different bug by doing that selective import of
> Event, but this appears to be a different issue.

Alright, finished reducing with io.d included, and the results are the same.
The key to this however is that io.d must be only an include, it cannot be a
source file of the build.

-- 
Configure issuemail: https://d.puremagic.com/issues/userprefs.cgi?tab=email
------- You are receiving this mail because: -------


More information about the Digitalmars-d-bugs mailing list