[Issue 16670] New: std.variant visiting allows type parameters not held by variant

via Digitalmars-d-bugs digitalmars-d-bugs at puremagic.com
Tue Nov 8 03:48:46 PST 2016


https://issues.dlang.org/show_bug.cgi?id=16670

          Issue ID: 16670
           Summary: std.variant visiting allows type parameters not held
                    by variant
           Product: D
           Version: D2
          Hardware: x86
                OS: Windows
            Status: NEW
          Severity: minor
          Priority: P1
         Component: phobos
          Assignee: nobody at puremagic.com
          Reporter: nick at geany.org

Algebraic!(size_t, string) variant;
    variant.visit!((void*)=>0, (size_t s)=>0, (string s)=>0);
    variant.tryVisit!((void*)=>0);
    variant.tryVisit!((bool)=>0);

None of the 3 visiting functions should compile because `variant` can't hold
void* or bool. Should be statically prevented to catch bugs.

--


More information about the Digitalmars-d-bugs mailing list