[Issue 5080] breaking const-correctness with class/interface
    d-bugmail at puremagic.com 
    d-bugmail at puremagic.com
       
    Tue Oct 19 08:09:19 PDT 2010
    
    
  
http://d.puremagic.com/issues/show_bug.cgi?id=5080
--- Comment #3 from Kenji Hara <k.hara.pg at gmail.com> 2010-10-19 08:08:39 PDT ---
This code should not work.
----
interface I
{
    void set(int v);
}
class A : I
{
    this(int v){val = v;}
    int val = 10;
    override void set(int v){val = v;}
}
void change(I i)
{
    i.set(100);
}
void main()
{
    auto a = new immutable(A)(10);
    assert(a.val == 10);
    change(a);              // immutable(A) is converted to (mutable) I.
    assert(a.val == 100);   // breaking const-correctness!
}
----
-- 
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