http://d.puremagic.com/issues/show_bug.cgi?id=4880
--- Comment #2 from Rob Jacques <[email protected]> 2010-09-17 12:33:14 PDT --- Well half of puts' functionality is to emulate uniform function call syntax for structs and classes: i.e. re-write put(r,e) into r.put(e). So I'd expect UFC to break put with or without this patch. I had thought of improving hasMembers (either the __traits or templated version) to support opDispatch, however, I do not think that it is possible. The problem is template constraints. Consider the highly synthetic example: void opDispatch(string name, T...) if( name.length == T.length ) {} Because the template constraint could be non-trivially dependent on something more than name there's no way to check if r.opDispatch!"put" is valid without actually evaluating r.put(e) (i.e. __traits(compiles,...)) -- Configure issuemail: http://d.puremagic.com/issues/userprefs.cgi?tab=email ------- You are receiving this mail because: -------
