digitalmars.D.bugs - [Issue 10758] New: Unsound type checking for inout.
- d-bugmail puremagic.com (30/30) Aug 04 2013 http://d.puremagic.com/issues/show_bug.cgi?id=10758
- d-bugmail puremagic.com (10/10) Aug 07 2013 http://d.puremagic.com/issues/show_bug.cgi?id=10758
- d-bugmail puremagic.com (8/8) Aug 18 2013 http://d.puremagic.com/issues/show_bug.cgi?id=10758
- d-bugmail puremagic.com (10/10) Aug 18 2013 http://d.puremagic.com/issues/show_bug.cgi?id=10758
- d-bugmail puremagic.com (16/16) Aug 19 2013 http://d.puremagic.com/issues/show_bug.cgi?id=10758
- d-bugmail puremagic.com (7/14) Aug 20 2013 http://d.puremagic.com/issues/show_bug.cgi?id=10758
- d-bugmail puremagic.com (11/11) Aug 27 2013 http://d.puremagic.com/issues/show_bug.cgi?id=10758
- d-bugmail puremagic.com (9/9) Aug 27 2013 http://d.puremagic.com/issues/show_bug.cgi?id=10758
http://d.puremagic.com/issues/show_bug.cgi?id=10758 Summary: Unsound type checking for inout. Product: D Version: D2 Platform: All OS/Version: All Status: NEW Severity: normal Priority: P2 Component: DMD AssignedTo: nobody puremagic.com ReportedBy: timon.gehr gmx.ch With DMD, inout can be used to coerce away immutability as follows: int* foo(inout(int)* x) safe{ inout(int)* screwUp(inout(int)*){ return x; } return screwUp((int*).init); } void main(){ immutable x = 123; static assert(is(typeof(*&x)==immutable)); assert(*&x==123); immutable(int)* y = &x; *foo(y)=456; assert(*&x==456); assert(x!=*&x); // (!) } -- Configure issuemail: http://d.puremagic.com/issues/userprefs.cgi?tab=email ------- You are receiving this mail because: -------
Aug 04 2013
http://d.puremagic.com/issues/show_bug.cgi?id=10758 Kenji Hara <k.hara.pg gmail.com> changed: What |Removed |Added ---------------------------------------------------------------------------- Keywords| |accepts-invalid, pull https://github.com/D-Programming-Language/dmd/pull/2455 -- Configure issuemail: http://d.puremagic.com/issues/userprefs.cgi?tab=email ------- You are receiving this mail because: -------
Aug 07 2013
http://d.puremagic.com/issues/show_bug.cgi?id=10758 Commit pushed to master at https://github.com/D-Programming-Language/dmd https://github.com/D-Programming-Language/dmd/commit/988eae63db3be236428f7753dee0812ef6aed5ec fix Issue 10758 - Unsound type checking for inout -- Configure issuemail: http://d.puremagic.com/issues/userprefs.cgi?tab=email ------- You are receiving this mail because: -------
Aug 18 2013
http://d.puremagic.com/issues/show_bug.cgi?id=10758 Walter Bright <bugzilla digitalmars.com> changed: What |Removed |Added ---------------------------------------------------------------------------- Status|NEW |RESOLVED CC| |bugzilla digitalmars.com Resolution| |FIXED -- Configure issuemail: http://d.puremagic.com/issues/userprefs.cgi?tab=email ------- You are receiving this mail because: -------
Aug 18 2013
http://d.puremagic.com/issues/show_bug.cgi?id=10758 timon.gehr gmx.ch changed: What |Removed |Added ---------------------------------------------------------------------------- Status|RESOLVED |REOPENED Resolution|FIXED | The patch misses to take into consideration inout member functions. Eg. the following function still manages to unsafely coerce its argument to mutable: int* foo(inout(int)* x) safe{ struct S{ inout(int)* screwUp()inout{ return x; } } return S().screwUp(); } -- Configure issuemail: http://d.puremagic.com/issues/userprefs.cgi?tab=email ------- You are receiving this mail because: -------
Aug 19 2013
http://d.puremagic.com/issues/show_bug.cgi?id=10758The patch misses to take into consideration inout member functions. Eg. the following function still manages to unsafely coerce its argument to mutable: int* foo(inout(int)* x) safe{ struct S{ inout(int)* screwUp()inout{ return x; } } return S().screwUp(); }https://github.com/D-Programming-Language/dmd/pull/2487 -- Configure issuemail: http://d.puremagic.com/issues/userprefs.cgi?tab=email ------- You are receiving this mail because: -------
Aug 20 2013
http://d.puremagic.com/issues/show_bug.cgi?id=10758 Commits pushed to master at https://github.com/D-Programming-Language/dmd https://github.com/D-Programming-Language/dmd/commit/a61e407fa9fa7e20e8035f41d4c26569e06b5ed8 Additional fix issue 10758 for inout method of nested aggregate https://github.com/D-Programming-Language/dmd/commit/0542bbb77850e65a206b625970dc8b33ff6fe2fb Additional fix issue 10758 for inout method of nested aggregate -- Configure issuemail: http://d.puremagic.com/issues/userprefs.cgi?tab=email ------- You are receiving this mail because: -------
Aug 27 2013
http://d.puremagic.com/issues/show_bug.cgi?id=10758 Walter Bright <bugzilla digitalmars.com> changed: What |Removed |Added ---------------------------------------------------------------------------- Status|REOPENED |RESOLVED Resolution| |FIXED -- Configure issuemail: http://d.puremagic.com/issues/userprefs.cgi?tab=email ------- You are receiving this mail because: -------
Aug 27 2013