www.digitalmars.com         C & C++   DMDScript  

digitalmars.D.bugs - [Issue 20000] New: Casting to interfaces arbitrarily disallowed in

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

          Issue ID: 20000
           Summary: Casting to interfaces arbitrarily disallowed in  safe
                    code
           Product: D
           Version: D2
          Hardware: All
                OS: All
            Status: NEW
          Severity: normal
          Priority: P1
         Component: dmd
          Assignee: nobody puremagic.com
          Reporter: n8sh.secondary hotmail.com

```
interface A {}
class C1 {}
class C2 : A {}

bool isA(Object obj)  safe
{
    if (auto a = cast(A) obj)
        return true;
    return false;
}

void main()
{
    import std.stdio : writeln;
    writeln(isA(new C1()));
    writeln(isA(new C2()));
}
```

--
Jun 23 2019