[Issue 5115] std.typecons.scoped problems

2010-12-21 Thread d-bugmail
http://d.puremagic.com/issues/show_bug.cgi?id=5115


Brad Roberts bra...@puremagic.com changed:

   What|Removed |Added

 CC||bra...@puremagic.com


--- Comment #4 from Brad Roberts bra...@puremagic.com 2010-12-21 00:29:38 PST 
---
Any issue that involves a struct dtor not being properly run is almost
certainly an extension of bug 3516.  Walter's well aware of it, but it's a
non-trivial problem to fix.

-- 
Configure issuemail: http://d.puremagic.com/issues/userprefs.cgi?tab=email
--- You are receiving this mail because: ---


[Issue 5331] mach format problem

2010-12-21 Thread d-bugmail
http://d.puremagic.com/issues/show_bug.cgi?id=5331


Don clugd...@yahoo.com.au changed:

   What|Removed |Added

 Status|NEW |RESOLVED
 CC||clugd...@yahoo.com.au
 Resolution||FIXED


--- Comment #1 from Don clugd...@yahoo.com.au 2010-12-21 00:51:23 PST ---
http://www.dsource.org/projects/dmd/changeset/795

-- 
Configure issuemail: http://d.puremagic.com/issues/userprefs.cgi?tab=email
--- You are receiving this mail because: ---


[Issue 3554] Ddoc generates invalid output for documentation comments with non paired parantheses

2010-12-21 Thread d-bugmail
http://d.puremagic.com/issues/show_bug.cgi?id=3554



--- Comment #17 from bearophile_h...@eml.cc 2010-12-21 01:35:46 PST ---
Just a note. This program, compiled with -w:


/// Return a random number in [0, 10)
void foo() {}
void main() {}


Prints:
test3.d(2): Warning: Ddoc: Stray ')'. This may cause incorrect Ddoc output. Use
$(RPAREN) instead for unpaired right parentheses.

But the generated HTML is correct.

-- 
Configure issuemail: http://d.puremagic.com/issues/userprefs.cgi?tab=email
--- You are receiving this mail because: ---


[Issue 5020] Forward implicit bool conversions to alias this

2010-12-21 Thread d-bugmail
http://d.puremagic.com/issues/show_bug.cgi?id=5020


bearophile_h...@eml.cc changed:

   What|Removed |Added

 Status|NEW |RESOLVED
 CC||bearophile_h...@eml.cc
 Resolution||FIXED


--- Comment #2 from bearophile_h...@eml.cc 2010-12-21 01:50:31 PST ---
Fixed in DMD 2.051

-- 
Configure issuemail: http://d.puremagic.com/issues/userprefs.cgi?tab=email
--- You are receiving this mail because: ---


[Issue 3554] Ddoc generates invalid output for documentation comments with non paired parantheses

2010-12-21 Thread d-bugmail
http://d.puremagic.com/issues/show_bug.cgi?id=3554


Don clugd...@yahoo.com.au changed:

   What|Removed |Added

 CC||clugd...@yahoo.com.au


--- Comment #18 from Don clugd...@yahoo.com.au 2010-12-21 02:06:39 PST ---
(In reply to comment #17)
 Just a note. This program, compiled with -w:
 
 
 /// Return a random number in [0, 10)
 void foo() {}
 void main() {}
 
 
 Prints:
 test3.d(2): Warning: Ddoc: Stray ')'. This may cause incorrect Ddoc output. 
 Use
 $(RPAREN) instead for unpaired right parentheses.
 
 But the generated HTML is correct.

This behaviour is intentional. DDoc now inserts a $(RPAREN) for you, that's why
it's a warning, not an error.

-- 
Configure issuemail: http://d.puremagic.com/issues/userprefs.cgi?tab=email
--- You are receiving this mail because: ---


[Issue 3554] Ddoc generates invalid output for documentation comments with non paired parantheses

2010-12-21 Thread d-bugmail
http://d.puremagic.com/issues/show_bug.cgi?id=3554



--- Comment #19 from Johannes Pfau johannesp...@gmail.com 2010-12-21 02:22:10 
PST ---
Short explanation of the warning:

Consider this comment:
/// Return a random number in $(BOLD [0, 10))

DMD cannot know if you mean:
/// Return a random number in $(BOLD [0, 10$(RPAREN))
(right parenthesis is bold)

or
/// Return a random number in $(BOLD [0, 10)$(RPAREN)
(right parenthesis isn't bold)

So in some cases it could cause wrong output and therefore the warning is
needed.

-- 
Configure issuemail: http://d.puremagic.com/issues/userprefs.cgi?tab=email
--- You are receiving this mail because: ---


[Issue 5015] Regression(1.061): Cyclic import breaks is() in a static if

2010-12-21 Thread d-bugmail
http://d.puremagic.com/issues/show_bug.cgi?id=5015



--- Comment #2 from William Moore nyphb...@gmail.com 2010-12-21 07:13:13 PST 
---
This is still broken in the latest 1.066 DMD.  It also still compiles correctly
in 2.051 DMD.

-- 
Configure issuemail: http://d.puremagic.com/issues/userprefs.cgi?tab=email
--- You are receiving this mail because: ---


[Issue 5203] dinstaller.exe v2.050 doesn't install anything

2010-12-21 Thread d-bugmail
http://d.puremagic.com/issues/show_bug.cgi?id=5203


Matthias Pleh matthias.p...@gmx.at changed:

   What|Removed |Added

 Status|NEW |RESOLVED
 Resolution||FIXED


--- Comment #3 from Matthias Pleh matthias.p...@gmx.at 2010-12-21 10:09:22 
PST ---
Is working fine with the new v2.051 installer!

-- 
Configure issuemail: http://d.puremagic.com/issues/userprefs.cgi?tab=email
--- You are receiving this mail because: ---


[Issue 5209] posix/sys/select.d: FD_ISSET function should return bool

2010-12-21 Thread d-bugmail
http://d.puremagic.com/issues/show_bug.cgi?id=5209


Iain Buclaw ibuc...@ubuntu.com changed:

   What|Removed |Added

   Severity|major   |critical


--- Comment #2 from Iain Buclaw ibuc...@ubuntu.com 2010-12-21 13:33:04 PST ---
Bumping priority:

It appears *ONE* of the functions has been changed to a boolean. But what's
utterly worse is that:


extern (D) bool FD_ISSET( int fd, fd_set* fdset )
{
return (fdset.fds_bits[__FDELT( fd )]  __FDMASK( fd )) == 0;
}

should be != 0

Regards

-- 
Configure issuemail: http://d.puremagic.com/issues/userprefs.cgi?tab=email
--- You are receiving this mail because: ---


[Issue 5362] New: checking $ in bracket is broken.

2010-12-21 Thread d-bugmail
http://d.puremagic.com/issues/show_bug.cgi?id=5362

   Summary: checking $ in bracket is broken.
   Product: D
   Version: D2
  Platform: All
OS/Version: All
Status: NEW
  Severity: normal
  Priority: P2
 Component: DMD
AssignedTo: nob...@puremagic.com
ReportedBy: k.hara...@gmail.com


--- Comment #0 from Kenji Hara k.hara...@gmail.com 2010-12-21 13:37:42 PST ---
Created an attachment (id=851)
Patch for dmd r810

This is parser bug.

struct ellipsis{}
enum __dollar = ellipsis();
struct s{
static auto opSlice(){}
static auto opCall(A...)(A args){}
}
void main(){
//s[];   // if remove comment, it is succeeded to compile.
s($);
}


-- 
Configure issuemail: http://d.puremagic.com/issues/userprefs.cgi?tab=email
--- You are receiving this mail because: ---


[Issue 5209] posix/sys/select.d: FD_ISSET function should return bool

2010-12-21 Thread d-bugmail
http://d.puremagic.com/issues/show_bug.cgi?id=5209


Brad Roberts bra...@puremagic.com changed:

   What|Removed |Added

 CC||bra...@puremagic.com


--- Comment #3 from Brad Roberts bra...@puremagic.com 2010-12-21 13:43:47 PST 
---
Would you do me a favor and write up a block of unit tests for those functions?
 I'll apply both together.

-- 
Configure issuemail: http://d.puremagic.com/issues/userprefs.cgi?tab=email
--- You are receiving this mail because: ---


[Issue 5209] posix/sys/select.d: FD_ISSET function should return bool

2010-12-21 Thread d-bugmail
http://d.puremagic.com/issues/show_bug.cgi?id=5209



--- Comment #4 from Iain Buclaw ibuc...@ubuntu.com 2010-12-21 16:33:12 PST ---
Created an attachment (id=852)
unittest for sys.select

Well the most obvious thing it affects is std.socket;


import std.socket;

unittest
{
SocketSet sset = new SocketSet(24);

// All socket descriptors should not be set before using them.
for (socket_t i = 0; i  sset.max; i++)
{
assert(! sset.isSet(i));
}
}


Is the attached file OK? :~)

-- 
Configure issuemail: http://d.puremagic.com/issues/userprefs.cgi?tab=email
--- You are receiving this mail because: ---


[Issue 5209] posix/sys/select.d: FD_ISSET function should return bool

2010-12-21 Thread d-bugmail
http://d.puremagic.com/issues/show_bug.cgi?id=5209


Brad Roberts bra...@puremagic.com changed:

   What|Removed |Added

 Status|NEW |RESOLVED
 Resolution||FIXED
 AssignedTo|s...@invisibleduck.org  |bra...@puremagic.com


--- Comment #5 from Brad Roberts bra...@puremagic.com 2010-12-21 16:54:21 PST 
---
Checked in both the fix and the unittests in r453 and r454.

Thanks for the patches.

-- 
Configure issuemail: http://d.puremagic.com/issues/userprefs.cgi?tab=email
--- You are receiving this mail because: ---


[Issue 5363] New: const + alias this = wrong code

2010-12-21 Thread d-bugmail
http://d.puremagic.com/issues/show_bug.cgi?id=5363

   Summary: const + alias this = wrong code
   Product: D
   Version: D2
  Platform: Other
OS/Version: Windows
Status: NEW
  Keywords: wrong-code
  Severity: critical
  Priority: P2
 Component: DMD
AssignedTo: nob...@puremagic.com
ReportedBy: dsim...@yahoo.com


--- Comment #0 from David Simcha dsim...@yahoo.com 2010-12-21 19:30:58 PST ---
Happens on at least 2.050, 2.051.

import core.stdc.stdio;  // Pollutes asm less than std.stdio.

struct Foo {
uint dummy = 0;
uint k = 0;

alias dummy this;  // Yes, this line is necessary for reproducing the bug.

// This needs to be a function to reproduce the bug.  Setting k directly
// doesn't cut it.
void put(uint element) {
k += element;
}

// rhs must be const to reproduce the bug.
void put(const Foo rhs) {
k += rhs.k;
}
}

void main() {
Foo foo1, foo2;
foo1.put(10);
foo2.put(42);
foo1.put(foo2);

printf(%d\n, foo1.k);  // 10, should be 52
}

-- 
Configure issuemail: http://d.puremagic.com/issues/userprefs.cgi?tab=email
--- You are receiving this mail because: ---


[Issue 4172] Improve varargs

2010-12-21 Thread d-bugmail
http://d.puremagic.com/issues/show_bug.cgi?id=4172



--- Comment #17 from Walter Bright bugzi...@digitalmars.com 2010-12-21 
20:25:56 PST ---
(In reply to comment #16)
 Here we can see the result of the old varargs being ported to 64 bits:
 http://dsource.org/projects/phobos/changeset/2229
 The compiler got more complicated too. Good job, Walter.

It's not even the old varargs. I don't think it's possible to support the C
varargs correctly with the 64 bit ABI. (Note that gcc does not implement the 64
bit varargs ABI correctly - I had to do a lot of experiments to figure out how
it *really* worked.)

We could invent our own ABI for varargs, and it would be simple. But then,
we're screwed trying to interoperate with C code that uses varargs.

The 64 bit varargs works tolerably ok, though I'm not thrilled with it. The
reason for that changeset is I wished to avoid the varargs-style copying of the
argument in order to access it. Much better to point to whereever it is, so the
code has to dip under the hood to the dirty underbelly of varargs. Avoiding the
copy not only speeds things up, it avoids issues like where/when does the
destructor happen on the copy?

To me, the 64 bit varargs ABI looks like a giant mistake that was codified
instead of fixed in order to preserve backwards compatibility. (It suggests the
original designer tried to do some clever optimizations, but failed to think it
through and the result is an inefficient mess.)

-- 
Configure issuemail: http://d.puremagic.com/issues/userprefs.cgi?tab=email
--- You are receiving this mail because: ---


[Issue 4172] Improve varargs

2010-12-21 Thread d-bugmail
http://d.puremagic.com/issues/show_bug.cgi?id=4172



--- Comment #18 from nfx...@gmail.com 2010-12-21 20:41:46 PST ---
(In reply to comment #17)
 We could invent our own ABI for varargs, and it would be simple. But then,
 we're screwed trying to interoperate with C code that uses varargs.

The D ABI doesn't need to follow the C ABI, and that includes varargs. Of
course the compiler still needs to implement the C ABI for extern(C) functions,
but that is nothing a D programmer needs to care about. This issue wasn't about
the C ABI at all.

-- 
Configure issuemail: http://d.puremagic.com/issues/userprefs.cgi?tab=email
--- You are receiving this mail because: ---


[Issue 3112] Specification on what operations call the GC is missing

2010-12-21 Thread d-bugmail
http://d.puremagic.com/issues/show_bug.cgi?id=3112


Petr Janda janda.p...@gmail.com changed:

   What|Removed |Added

 CC||janda.p...@gmail.com


--- Comment #2 from Petr Janda janda.p...@gmail.com 2010-12-21 23:40:16 PST 
---
Why are things such as array concat and appending relying on GC? It looks to me
as that a lot of them could be accomplished without it.

-- 
Configure issuemail: http://d.puremagic.com/issues/userprefs.cgi?tab=email
--- You are receiving this mail because: ---