[Issue 4727] New: Passing std.concurrency.receive() a function of type Variant causes a static assert

d-bugmail at puremagic.com d-bugmail at puremagic.com
Wed Aug 25 21:01:00 PDT 2010


http://d.puremagic.com/issues/show_bug.cgi?id=4727

           Summary: Passing std.concurrency.receive() a function of type
                    Variant causes a static assert
           Product: D
           Version: D2
          Platform: x86
        OS/Version: Mac OS X
            Status: NEW
          Severity: major
          Priority: P2
         Component: Phobos
        AssignedTo: nobody at puremagic.com
        ReportedBy: itsallaboutthedyo at gmail.com


--- Comment #0 from Tim Keating <itsallaboutthedyo at gmail.com> 2010-08-25 21:00:53 PDT ---
Example 13.6.2 from The D Programming Language (p. 405; trivial example of
using a function that takes a single Variant type as a "catch all" message
handler) does not compile for me. This is using DMD 2.048 and Phobos dated
8/10/10.

The compile error occurs in the static assert on line 385 of concurrency.d. As
far as I can tell, the assert says "if we have only one param, and it's a
variant, die." Seems to me it needs an additional clause, "... and this isn't
the last element in the T array".

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


More information about the Digitalmars-d-bugs mailing list