www.digitalmars.com         C & C++   DMDScript  

digitalmars.D.bugs - [Issue 1885] New: Syntax error for object identity test between invariant/mutable references

reply d-bugmail puremagic.com writes:
http://d.puremagic.com/issues/show_bug.cgi?id=1885

           Summary: Syntax error for object identity test between
                    invariant/mutable references
           Product: D
           Version: 2.011
          Platform: PC
        OS/Version: All
            Status: NEW
          Keywords: rejects-valid
          Severity: normal
          Priority: P2
         Component: DMD
        AssignedTo: bugzilla digitalmars.com
        ReportedBy: ludwig informatik.uni-luebeck.de


Checking for object identity using 'a is b' causes a syntax error, if one of a
and b is of type invariant(C) and the other one is typed C - although this
should be allowed.


-----------------
class C {}
struct S {}

int main(){
        invariant(S)* si;
        S* sm;
        // Works:
        bool a = si is sm;

        invariant(C) ci;
        const(C) cm;
        // Error: incompatible types for ((ci) is (cm)): 'invariant(C)' and
'bug_is.C'
        bool b = ci is cm;

        return 0;
}
-----------------


-- 
Mar 02 2008
parent d-bugmail puremagic.com writes:
http://d.puremagic.com/issues/show_bug.cgi?id=1885


bugzilla digitalmars.com changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
             Status|NEW                         |RESOLVED
         Resolution|                            |FIXED




------- Comment #1 from bugzilla digitalmars.com  2008-03-07 00:40 -------
Fixed dmd 2.012


-- 
Mar 06 2008