http://d.puremagic.com/issues/show_bug.cgi?id=7117
Summary: [regression 1.071->1.072] put contract for class member functions are broken Product: D Version: D1 Platform: All OS/Version: Linux Status: NEW Severity: regression Priority: P2 Component: DMD AssignedTo: nob...@puremagic.com ReportedBy: llu...@gmail.com --- Comment #0 from Leandro Lucarella <llu...@gmail.com> 2011-12-16 09:18:04 PST --- When upgrading from 1.071 to 1.072 I had problems with out contracts for class member functions. Here is a minimal testcase: --- module bug; extern (C) int printf(char*, ...); class Sad { // only happens with class member functions, struct member functions work // well and static class member function works well also void func ( int n ) out { printf("out: %d\n", n); assert ( n == 23, "DMD IS SO BROKEN"); } body { printf("body: %d\n", n); assert ( n == 23, "Expected to work"); return ; } } void main(char[][] args) { auto c = new Sad; c.func(23); } --- I tried to do a git bisect to come up with the exact commit that broke this but it was impossible because there are commits that doesn't compile. It would be nice if you could only commit changes that compiles to allow bisecting the code to find exactly where regressions were introduced. (this was tested in both 32 and 64 bit version in Linux) -- Configure issuemail: http://d.puremagic.com/issues/userprefs.cgi?tab=email ------- You are receiving this mail because: -------