[Issue 4092] broken memory management for COM objects derived from IUnknown
http://d.puremagic.com/issues/show_bug.cgi?id=4092 --- Comment #1 from Rainer Schuetze r.sagita...@gmx.de 2010-05-01 00:14:19 PDT --- I just recently noticed, that AddRef and Release should use addRoot and removeRoot, not addRange and removeRange. -- Configure issuemail: http://d.puremagic.com/issues/userprefs.cgi?tab=email --- You are receiving this mail because: ---
[Issue 4135] blockExit assertion failure
http://d.puremagic.com/issues/show_bug.cgi?id=4135 --- Comment #3 from bearophile_h...@eml.cc 2010-05-01 03:08:37 PDT --- If you post several modules here then you are asking people to debug your code. Your last code doesn't show the ICE, it just shows: test.d(2): Error: undefined identifier s -- Configure issuemail: http://d.puremagic.com/issues/userprefs.cgi?tab=email --- You are receiving this mail because: ---
[Issue 4137] New: Undefined identifier error in is(typeof())
http://d.puremagic.com/issues/show_bug.cgi?id=4137 Summary: Undefined identifier error in is(typeof()) Product: D Version: unspecified Platform: x86 OS/Version: Windows Status: NEW Keywords: diagnostic Severity: normal Priority: P2 Component: DMD AssignedTo: nob...@puremagic.com ReportedBy: bearophile_h...@eml.cc --- Comment #0 from bearophile_h...@eml.cc 2010-05-01 05:38:35 PDT --- I don't know if there are ways to solve this problem, I hope this isn't another situation like bug 3950. This is wrong D2 code. The template Foo has the type parameter T while inside it uses the parameter R: template Foo(T) { enum bool Foo = is(typeof(R.length)); } void main() { assert(Foo!(int[])); } The program compiles with no errors with dmd 2.043 and at run time produces: core.exception.asserter...@test2(5): Assertion failure But to help debugging, I'd like the compiler to point R as a undefined identifier (even with the 'did you mean...') at compile-time. Is this possible? -- Configure issuemail: http://d.puremagic.com/issues/userprefs.cgi?tab=email --- You are receiving this mail because: ---
[Issue 3971] Syntax semantics for array assigns
http://d.puremagic.com/issues/show_bug.cgi?id=3971 --- Comment #9 from Sobirari Muhomori dfj1es...@sneakemail.com 2010-05-01 08:14:28 PDT --- internally the compiler doesn't distinguish between x[] and x, where x is a dynamic array. This means, that array ops are a huge hack? -- Configure issuemail: http://d.puremagic.com/issues/userprefs.cgi?tab=email --- You are receiving this mail because: ---
[Issue 4137] Undefined identifier error in is(typeof())
http://d.puremagic.com/issues/show_bug.cgi?id=4137 Walter Bright bugzi...@digitalmars.com changed: What|Removed |Added Status|NEW |RESOLVED CC||bugzi...@digitalmars.com Resolution||INVALID --- Comment #1 from Walter Bright bugzi...@digitalmars.com 2010-05-01 09:45:29 PDT --- This is expected documented behavior. Compilation failures inside is expressions cause the is expression result to be false. A lot of template code relies on this. If you want an error on R being undefined, use it somewhere else in addition to inside the is expression. -- Configure issuemail: http://d.puremagic.com/issues/userprefs.cgi?tab=email --- You are receiving this mail because: ---
[Issue 4118] std.conv.to!SomeStruct(hello) crashes compiler
http://d.puremagic.com/issues/show_bug.cgi?id=4118 Walter Bright bugzi...@digitalmars.com changed: What|Removed |Added CC||bugzi...@digitalmars.com OS/Version|Mac OS X|All --- Comment #1 from Walter Bright bugzi...@digitalmars.com 2010-05-01 10:57:58 PDT --- It dies on Windows, too, so it's not an OSX specific problem. -- Configure issuemail: http://d.puremagic.com/issues/userprefs.cgi?tab=email --- You are receiving this mail because: ---
[Issue 4133] Enable __traits on D1
http://d.puremagic.com/issues/show_bug.cgi?id=4133 --- Comment #1 from nfx...@gmail.com 2010-05-01 11:14:41 PDT --- Created an attachment (id=616) enable __traits in D1 I figured it was unfair to leave all the work to Walter, so I wrote a patch. It was simple: mostly I had to remove a bunch of #if DMDV2, and copy some missing bits from the D2 source tree (which is slightly different from the D1 tree, whatever). The D1 traits.c file was outdated (I don't know why), so I just appended D2's traits.c to it (to keep the diff non-confusing). Note that I still made s small change to the copied part, oh well. I tried all examples from http://www.digitalmars.com/d/2.0/traits.html, and all seemed to work correctly. Note that you can't write auto b = [ __traits(allMembers, D) ]; in D1, instead you have to use char[][] b = [ __traits(allMembers, D) ]; (array type inference was changed in D2). This patch is against the dmd 1.059 Beta, which (probably) corresponds dmd svn revision 461. -- Configure issuemail: http://d.puremagic.com/issues/userprefs.cgi?tab=email --- You are receiving this mail because: ---
[Issue 4138] New: Enable __thread storage class (TLS) on D1
http://d.puremagic.com/issues/show_bug.cgi?id=4138 Summary: Enable __thread storage class (TLS) on D1 Product: D Version: future Platform: Other OS/Version: All Status: NEW Keywords: patch Severity: enhancement Priority: P2 Component: DMD AssignedTo: nob...@puremagic.com ReportedBy: nfx...@gmail.com --- Comment #0 from nfx...@gmail.com 2010-05-01 11:31:18 PDT --- Created an attachment (id=617) __thread on D1 Enable the __thread storage class in D1. This enables D1 programs to optionally make use of thread local storage (TLS). Note that this also can ease porting D1 programs to D2. This doesn't break any existing D1 code, as identifiers starting with __ are compiler reserved. I appended a patch; it is embarrassingly simple. -- Configure issuemail: http://d.puremagic.com/issues/userprefs.cgi?tab=email --- You are receiving this mail because: ---
[Issue 4118] std.conv.to!SomeStruct(hello) crashes compiler
http://d.puremagic.com/issues/show_bug.cgi?id=4118 --- Comment #2 from Walter Bright bugzi...@digitalmars.com 2010-05-01 11:45:08 PDT --- changeset 462 - at least it gives an error message now -- Configure issuemail: http://d.puremagic.com/issues/userprefs.cgi?tab=email --- You are receiving this mail because: ---
[Issue 3541] Add -oq to dmd (use fully qualified module name as object filename)
http://d.puremagic.com/issues/show_bug.cgi?id=3541 --- Comment #5 from nfx...@gmail.com 2010-05-01 12:00:35 PDT --- Created an attachment (id=618) updated patch for dmd 1.059 beta (~ svn 461) this probably still crashes with win32 patch = not obsoleting mpiepk's patch -- Configure issuemail: http://d.puremagic.com/issues/userprefs.cgi?tab=email --- You are receiving this mail because: ---
[Issue 3541] Add -oq to dmd (use fully qualified module name as object filename)
http://d.puremagic.com/issues/show_bug.cgi?id=3541 nfx...@gmail.com changed: What|Removed |Added Attachment #618|application/octet-stream|text/plain mime type|| Attachment #618 is|0 |1 patch|| -- Configure issuemail: http://d.puremagic.com/issues/userprefs.cgi?tab=email --- You are receiving this mail because: ---
[Issue 4118] std.conv.to!SomeStruct(hello) crashes compiler
http://d.puremagic.com/issues/show_bug.cgi?id=4118 --- Comment #3 from Michel Fortin michel.for...@michelf.com 2010-05-01 15:20:03 EDT --- Ah, great. I can use it now as it no longer crashes. But I don't think it should give an error, it should just not match the given template. The error you added gives a false positive in this case: --- struct SomeStruct { } int test(T : T[X], X)(X x) { return 1; } int test(T : SomeStruct, X)(X x) { return 1; } void main() { auto s = test!SomeStruct(hello); } --- -- Configure issuemail: http://d.puremagic.com/issues/userprefs.cgi?tab=email --- You are receiving this mail because: ---
[Issue 4139] New: Forward reference error in front() of iterable struct
http://d.puremagic.com/issues/show_bug.cgi?id=4139 Summary: Forward reference error in front() of iterable struct Product: D Version: unspecified Platform: x86 OS/Version: Windows Status: NEW Severity: normal Priority: P2 Component: DMD AssignedTo: nob...@puremagic.com ReportedBy: bearophile_h...@eml.cc --- Comment #0 from bearophile_h...@eml.cc 2010-05-01 12:20:53 PDT --- This is D2 code: Foo!(TArray) foo(TArray)(TArray r) { // the usual helper function return Foo!(TArray)(r); } struct Foo(TArray) { TArray arr; bool empty() { return !arr.length; } void popFront() { arr = arr[1 .. $]; } // int front() { return arr[0]; } // OK auto front() { return arr[0]; } // line 12 } void main() { foreach (el; foo([10])) {} } DMD 2.043 prints: test.d(12): Error: forward reference to inferred return type of function call __r1.front() -- Configure issuemail: http://d.puremagic.com/issues/userprefs.cgi?tab=email --- You are receiving this mail because: ---
[Issue 4140] New: Error: non-constant expression hello[1u..__dollar]
http://d.puremagic.com/issues/show_bug.cgi?id=4140 Summary: Error: non-constant expression hello[1u..__dollar] Product: D Version: 1.057 Platform: Other OS/Version: Linux Status: NEW Keywords: rejects-valid Severity: normal Priority: P2 Component: DMD AssignedTo: nob...@puremagic.com ReportedBy: nfx...@gmail.com --- Comment #0 from nfx...@gmail.com 2010-05-01 15:24:05 PDT --- $ cat z.d const z = hello; const h = z[1..$]; $ dmd -c z.d z.d(2): Error: non-constant expression hello[1u..__dollar] Works with dmd2. Tested with dmd 1.59 beta (can only select up to 1.057 in bugzilla). -- Configure issuemail: http://d.puremagic.com/issues/userprefs.cgi?tab=email --- You are receiving this mail because: ---
[Issue 2928] Swap order of paramaters for std.range's take
http://d.puremagic.com/issues/show_bug.cgi?id=2928 Kyle Foley k-fo...@onu.edu changed: What|Removed |Added Status|ASSIGNED|RESOLVED Resolution||FIXED --- Comment #7 from Kyle Foley k-fo...@onu.edu 2010-05-01 16:00:42 PDT --- Fixed in 2.041 http://digitalmars.com/d/2.0/changelog.html#new2_041 -- Configure issuemail: http://d.puremagic.com/issues/userprefs.cgi?tab=email --- You are receiving this mail because: ---
[Issue 4141] New: unary ++ (post increment) invokes opBinary
http://d.puremagic.com/issues/show_bug.cgi?id=4141 Summary: unary ++ (post increment) invokes opBinary Product: D Version: unspecified Platform: x86 OS/Version: Linux Status: NEW Severity: normal Priority: P2 Component: DMD AssignedTo: nob...@puremagic.com ReportedBy: k-fo...@onu.edu --- Comment #0 from Kyle Foley k-fo...@onu.edu 2010-05-01 16:22:37 PDT --- DMD 2.043 struct A { int _; void opBinary(string op, U)(U rhs) { pragma(msg, op); } } auto a = A(42); a++; --- $ rdmd opbugs.d ++ opbugs.d(10): Error: template opbugs.main.A.opBinary(string op,U) does not match any function template declaration opbugs.d(10): Error: template opbugs.main.A.opBinary(string op,U) cannot deduce template function from argument types !()() -- Configure issuemail: http://d.puremagic.com/issues/userprefs.cgi?tab=email --- You are receiving this mail because: ---
[Issue 4142] New: Missing tags in subversion
http://d.puremagic.com/issues/show_bug.cgi?id=4142 Summary: Missing tags in subversion Product: D Version: future Platform: All URL: http://www.dsource.org/projects/dmd/browser/tags OS/Version: All Status: NEW Severity: trivial Priority: P2 Component: DMD AssignedTo: nob...@puremagic.com ReportedBy: llu...@gmail.com --- Comment #0 from Leandro Lucarella llu...@gmail.com 2010-05-01 18:55:50 PDT --- This is not really a bug, but there are several missing tags in subversion. I think the tagging should be automated by the release process, that way there will be no more missing tags :) -- Configure issuemail: http://d.puremagic.com/issues/userprefs.cgi?tab=email --- You are receiving this mail because: ---
[Issue 3971] Syntax semantics for array assigns
http://d.puremagic.com/issues/show_bug.cgi?id=3971 --- Comment #10 from Don clugd...@yahoo.com.au 2010-05-01 22:08:28 PDT --- (In reply to comment #9) internally the compiler doesn't distinguish between x[] and x, where x is a dynamic array. This means, that array ops are a huge hack? No. According to the spec, it's not supposed to. x[] is exactly the same as x. The [] is only required for lvalues. So int [4] a, b, c; a[] = b + c; // should work It's almost as if there's a []= operator. At the moment, though, a[] = b+c; fails, and you need to write a[] = b[]+c[]. -- Configure issuemail: http://d.puremagic.com/issues/userprefs.cgi?tab=email --- You are receiving this mail because: ---