[Issue 6278] Regression(2.054 beta): 'in' contract inheritance doesn't work with safe code

2012-02-01 Thread d-bugmail
http://d.puremagic.com/issues/show_bug.cgi?id=6278


Walter Bright bugzi...@digitalmars.com changed:

   What|Removed |Added

 CC||bugzi...@digitalmars.com


--- Comment #8 from Walter Bright bugzi...@digitalmars.com 2012-02-01 
00:03:28 PST ---
The concept here is that, if a base function and its override both have an IN
contract, then only one of them needs to succeed. This is done by generating:

  void derived.in()
  {
try
{
  base.in();
}
catch ()
{
  ... body of derived.in() ...
}
  }

So if base.in() doesn't throw, derived.in() need not be executed, and the
contract is valid. If base.in() throws, then derived.in()'s body is executed.

As you can see, it swallows any exception generated by the contract. Whether
this is correct or not is certainly debatable.

I think a reasonable solution which will target this particular thing would be
to mark that try/catch as being valid even in safe mode. That'll change it from
a regression to an enhancement request to figure out a better way, as at least
it'll work as documented.

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


[Issue 6278] Regression(2.054 beta): 'in' contract inheritance doesn't work with safe code

2012-02-01 Thread d-bugmail
http://d.puremagic.com/issues/show_bug.cgi?id=6278


yebblies yebbl...@gmail.com changed:

   What|Removed |Added

   Platform|Other   |All


--- Comment #9 from yebblies yebbl...@gmail.com 2012-02-01 19:18:47 EST ---
The problem with just letting it catch all throwables in safe code is that it
is _not_ safe, so until we have a better solution I think forcing the user to
mark their function as @trusted is actually correct.

Exceptions thrown in contracts are supposed to be recoverable, which makes
AssertError (or any error) inappropriate.  But if asserts inside contracts are
changed to throw something else, called functions may still throw AssertErrors
that were intended to be caught.

On the other hand, an assert hit inside a contract could easily mean the
program is in an invalid state, and completely break the guarantees of @safe.

I think the best option is to make asserts in contracts throw something else,
despite the downsides.

I understand you would like to undo the regression, but I think re-opening this
hole in @safe is much worse than the current state, especially considering how
trivial the workaround is.

If you know how you would like the solution to look I'm happy to implement it.

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


[Issue 6278] Regression(2.054 beta): 'in' contract inheritance doesn't work with safe code

2012-02-01 Thread d-bugmail
http://d.puremagic.com/issues/show_bug.cgi?id=6278


Walter Bright bugzi...@digitalmars.com changed:

   What|Removed |Added

   Severity|regression  |normal


--- Comment #12 from Walter Bright bugzi...@digitalmars.com 2012-02-01 
00:56:01 PST ---
The bug is now that the in contracts can swallow any Errors and leave the
program in an invalid state.

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


[Issue 785] Make 'cent' and 'ucent' syntactically valid pending implementation

2012-02-01 Thread d-bugmail
http://d.puremagic.com/issues/show_bug.cgi?id=785



--- Comment #20 from Andrei Alexandrescu and...@metalanguage.com 2012-02-01 
00:58:00 PST ---
Focus, that's what we lose.

1. There's no real request for cent and ucent.

2. This let's add a filler doing nothing, discuss it ad nauseam, and consider
implement later is an utter waste of time. If someone really wants they can
implement it, don't add this useless filler for hypothetical future-proof
libraries that don't exist. This breaks a lot of good principles so badly it
hurts.

3. We're better off implementing FixedInt!size for large integers of
statically-allocated size. Granted, those don't benefit of all possible
optimizations but there's more flexibility.

Please close this and let's leave it closed. Thanks much.

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


[Issue 785] Make 'cent' and 'ucent' syntactically valid pending implementation

2012-02-01 Thread d-bugmail
http://d.puremagic.com/issues/show_bug.cgi?id=785



--- Comment #21 from yebblies yebbl...@gmail.com 2012-02-01 20:12:24 EST ---
With respect, Andrei, it's my time to waste.

A lot more time has been wasted on arguing about it than the 5 minutes it took
for me to make a patch that fixed it.

128 bit integer types have been considered possible enough for D that keywords
were reserved for them.  I fully intend to see them implemented if possible.

It seems lately you're frustrated that development effort isn't always directed
where you want it, but this is unavoidable in open source projects - people
will work on what they want to work on.

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


[Issue 785] Make 'cent' and 'ucent' syntactically valid pending implementation

2012-02-01 Thread d-bugmail
http://d.puremagic.com/issues/show_bug.cgi?id=785



--- Comment #22 from Andrei Alexandrescu and...@metalanguage.com 2012-02-01 
01:17:09 PST ---
It's great you want to work on this. It's this particular patch that I have
difficulty backing: it future proofs code that doesn't exist, for a feature
that doesn't exist either, on account of an assumed need. No matter how I frame
it it doesn't make any sense.

No response needed - proceed as you wish.

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


[Issue 5851] Ambiguous alias this accepted.

2012-02-01 Thread d-bugmail
http://d.puremagic.com/issues/show_bug.cgi?id=5851


yebblies yebbl...@gmail.com changed:

   What|Removed |Added

   Keywords||patch
 CC||yebbl...@gmail.com
   Platform|Other   |All
 AssignedTo|nob...@puremagic.com|yebbl...@gmail.com
 OS/Version|Linux   |All


--- Comment #2 from yebblies yebbl...@gmail.com 2012-02-01 20:35:31 EST ---
https://github.com/D-Programming-Language/dmd/pull/676

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


[Issue 4041] Error with ref or auto ref return from opOpAssign

2012-02-01 Thread d-bugmail
http://d.puremagic.com/issues/show_bug.cgi?id=4041


yebblies yebbl...@gmail.com changed:

   What|Removed |Added

 Status|NEW |RESOLVED
 CC||yebbl...@gmail.com
   Platform|x86 |All
Version|2.041   |D2
 Resolution||WORKSFORME
 OS/Version|Windows |All


--- Comment #3 from yebblies yebbl...@gmail.com 2012-02-01 21:10:52 EST ---
I can't reproduce this.

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


[Issue 6504] Regression(2.041): str ~ [arr] allows string literal to be modified

2012-02-01 Thread d-bugmail
http://d.puremagic.com/issues/show_bug.cgi?id=6504


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

   What|Removed |Added

 Status|RESOLVED|REOPENED
 Resolution|INVALID |


--- Comment #3 from Don clugd...@yahoo.com.au 2012-02-01 02:21:04 PST ---
(In reply to comment #2)
 I'm going to argue this is not a bug.
 
 While xxx is immutable, xxx~['c'] is mutable. Otherwise, it would be an
 error to use it to initialize x2.
 
 Hence, x2 can modify it. Since x2 is a reference to the initializer, not a 
 copy
 of it, the initializer is modified.
 
 The spec says that string literals in the source code are immutable, not
 incidental string literals in the compiler that result from other operations.

Reopened, because in every other respect, it behaves as an immutable string
literal.

On Linux, the test case causes a segfault -- it's an attempt to modify an
read-only literal.
On Windows, it's a secret global variable. You can even mark it as pure.
I don't think we can afford to have something so simple causing undefined
behaviour.

Fixing this bug isn't a big deal, btw. Now that I've put an isCtfe flag in
array literals, this case can go back to being an ArrayLiteral without hurting
CTFE performance.

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


[Issue 4149] refs displayed as pointers in gdb

2012-02-01 Thread d-bugmail
http://d.puremagic.com/issues/show_bug.cgi?id=4149



--- Comment #14 from Leandro Lucarella leandro.lucare...@sociomantic.com 
2012-02-01 02:22:04 PST ---
(In reply to comment #13)
 It's unrelated to pull 526 which fixed #4180.

I'm talking about the comment 2 by Brad:

 Depends on if gc implies c, c++, or 'as much as is supported in the built-in
 debug format without extension'. 
 
 I'd argue for the last definition.  Given that dwarf supports it without
 extension, I'd argue that it should use it.  I'd argue that -g should be
 built-in + d extensions.

Walter expressed he agree with this comment in comment 3.

AFAIK this pull request works for -g instead of -gc, even when it uses standard
DWARF features, which goes against that comment.

In the bug 3389 that you just closed, Robert Clipsham makes what for me is a
good point:

 -g not working is how it's meant to be, at least until gdb adds support for 
 the
 D extensions to DWARF. I've hopefully fixed the remaining bugs with -gc (on
 linux at least). My solution to this would be to add in a -gd, and make -g an
 alias to -gc until better support for debug info is added to debuggers. This
 way users get working debug output with -g, and don't blame it on a buggy dmd
 :)

At least this will be more familiar with people used to GCC command line
arguments (which is probably 100% of the *nix world), where -g is the default
for debug and you have, for example -ggdb for GDB extensions.

AFAIK there is no clear direction about this. But maybe is a topic for another
bug report, I think I'll reopen bug 3389 because the root issue in that bug is
what's being discussed here.

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


[Issue 7416] 2.058 regression: fails to instantiate a constrained function template with a nested function

2012-02-01 Thread d-bugmail
http://d.puremagic.com/issues/show_bug.cgi?id=7416


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

   What|Removed |Added

 CC||clugd...@yahoo.com.au
   Severity|normal  |regression


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


[Issue 7417] New: One-definition rule for version specification - allow version expressions

2012-02-01 Thread d-bugmail
http://d.puremagic.com/issues/show_bug.cgi?id=7417

   Summary: One-definition rule for version specification - allow
version expressions
   Product: D
   Version: D2
  Platform: All
OS/Version: All
Status: NEW
  Severity: enhancement
  Priority: P2
 Component: DMD
AssignedTo: nob...@puremagic.com
ReportedBy: clugd...@yahoo.com.au


--- Comment #0 from Don clugd...@yahoo.com.au 2012-02-01 03:51:32 PST ---
This enhancement adds a new syntax for version specifications, which would
allow us to eliminate the bird's nest of version statements that occurs when
code has a complicated version dependency.

The new syntax makes version specifications look like boolean variable
declarations:

version identifier = expression;

It would become illegal to reference a version identifier which hasn't been
declared. The spec already says that version declarations may only occur at
module scope; this new form of version specification would additionally be
disallowed inside version blocks (this enforces the one-definition rule).

version identifier = extern;
means that the identifier is externally specified (either on the command line,
or as a compiler built-in).

version VersionIdentifier = VersionExpression;

extern version VersionIdentifier;
// means this version is set from command line, or is a compiler built-in

VersionExpression:
 VersionExpression  VersionExpression
 VersionExpression || VersionExpression
!VersionExpression
( VersionExpression )
VersionIdentifier
true
false
extern

version(A)
{
   version = AorNotB;
}
version(B)
{
}
else {
   version = AorNotB;
}

becomes:
version AorNotB = A || !B;


Note that this is backwards-compatible, it doesn't collide with the existing
syntax. To get the full benefit from it, though, we would need to eventually
disallow existing version specifications from being inside version blocks.
version = XXX; outside of a version block would be the same as version XXX =
true; so most code would continue to work.

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


[Issue 6681] bogus duplicate union initialization or overlapping initialization errors

2012-02-01 Thread d-bugmail
http://d.puremagic.com/issues/show_bug.cgi?id=6681


yebblies yebbl...@gmail.com changed:

   What|Removed |Added

 CC||yebbl...@gmail.com


--- Comment #2 from yebblies yebbl...@gmail.com 2012-02-01 22:58:33 EST ---
Ok, the first test case reduces to this:

struct V{
union {
double[2] cell;
double x;
}

static immutable V zero=V(0,1);
}

The problem being that the struct literal gets turned into:
  this(a, b) { cell = 0; x = 1; }
ie. it passes the first argument to the first member, and the second argument
to the second.

This is sort of what I'd expect to happen, but the error message is completely
valid for what it's trying to do.  If anyone has a better idea of how struct
literals should map to unions, please open another bug report about it.

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


[Issue 6681] struct constructor call is converted to struct literal that breaks union initialization

2012-02-01 Thread d-bugmail
http://d.puremagic.com/issues/show_bug.cgi?id=6681


yebblies yebbl...@gmail.com changed:

   What|Removed |Added

   Platform|Other   |All
Summary|bogus duplicate union   |struct constructor call is
   |initialization or   |converted to struct literal
   |overlapping initialization  |that breaks union
   |errors  |initialization
 OS/Version|Mac OS X|All


--- Comment #3 from yebblies yebbl...@gmail.com 2012-02-01 23:10:11 EST ---
Got my test cases a little mixed up there, but it's still mostly valid.

All of the non-struct-literal struct construction seems to be converted into
struct literals.  eg.

struct S
{
this(int a, int b) { this.a = b; this.b = a; }
union {
ulong g;
struct {int a, b; };
}
}

static immutable S s = S(0, 1);

Prints: (with a little extra debug output)

StructLiteralExp::semantic('S(0LU,1,0)')
S
Error: duplicate union initialization for a
Error: duplicate union initialization for b

As you can see, it make a struct literal with every field accounted for.

So this is a bug in the constfolding/ctfe code.

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


[Issue 785] Make 'cent' and 'ucent' syntactically valid pending implementation

2012-02-01 Thread d-bugmail
http://d.puremagic.com/issues/show_bug.cgi?id=785



--- Comment #23 from Stewart Gordon s...@iname.com 2012-02-01 04:21:17 PST ---
(In reply to comment #20)
 2. This let's add a filler doing nothing, discuss it ad nauseam, and consider
 implement later is an utter waste of time. If someone really wants they can
 implement it, don't add this useless filler for hypothetical future-proof
 libraries that don't exist.

So you're waiting for somebody to write a library, built on my first point in
comment 9, that doesn't compile because current DMD flags a syntax error?

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


[Issue 3927] array.length++; is an error, but ++array.length compiles

2012-02-01 Thread d-bugmail
http://d.puremagic.com/issues/show_bug.cgi?id=3927


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

   What|Removed |Added

   Keywords||diagnostic
 CC||clugd...@yahoo.com.au
Summary|array.length++; is an error |array.length++; is an
   ||error, but ++array.length
   ||compiles


--- Comment #1 from Don clugd...@yahoo.com.au 2012-02-01 04:27:31 PST ---
++array.length;
compiles. The bizarre error is because of the lowering that the compiler uses
internally.

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


[Issue 2025] Inconsistent rules for instantiating templates with a tuple parameter

2012-02-01 Thread d-bugmail
http://d.puremagic.com/issues/show_bug.cgi?id=2025



--- Comment #7 from yebblies yebbl...@gmail.com 2012-02-01 23:32:47 EST ---
(In reply to comment #6)
 What has a better match to do with anything?  (int) matches the pattern (T)
 perfectly - no conversion, implicit or explicit.  True, (T: int) is a more
 specialised match, 
 inexact.
 

more specialized == better match.  That is how template type deduction works.

 but that doesn't magically render the match with (T)

That's why I called it a hack.


  See issue 4953 for another case it causes problems.
 
 That's different - 5 is an int, so it doesn't exactly match the pattern (short
 x).

I know it's different, I wrote the patch for it.  The hack causes problems
there too.

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


[Issue 785] Make 'cent' and 'ucent' syntactically valid pending implementation

2012-02-01 Thread d-bugmail
http://d.puremagic.com/issues/show_bug.cgi?id=785



--- Comment #24 from Stewart Gordon s...@iname.com 2012-02-01 04:36:09 PST ---
Moreover, when we finally get the types, there will still be users on older
compilers (DM or third-party, possibly commercial), even some on platforms for
which an up-to-date compiler is not yet available, who can't compile other
people's code because it uses syntax that is still illegal in the version they
have.  The sooner this issue is dealt with, the less risk of this happening.

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


[Issue 785] Make 'cent' and 'ucent' syntactically valid pending implementation

2012-02-01 Thread d-bugmail
http://d.puremagic.com/issues/show_bug.cgi?id=785



--- Comment #25 from yebblies yebbl...@gmail.com 2012-02-01 23:44:50 EST ---
(In reply to comment #24)
 Moreover, when we finally get the types, there will still be users on older
 compilers (DM or third-party, possibly commercial), even some on platforms for
 which an up-to-date compiler is not yet available, who can't compile other
 people's code because it uses syntax that is still illegal in the version they
 have.  The sooner this issue is dealt with, the less risk of this happening.

This is unlikely to ever be a problem.  D2 compilers break enough code (wrong
or not) between versions that using one a couple of releases old probably won't
compile your code anyway.  Of course, this will hopefully change in the future.

The bigger issue that makes this less of a waste of time is that D compiler
with different backends, or running on different backends, may choose not to
implement cent/ucent, and if they do this in the parser then the code will be
non-portable.  The proposed patch is a much more correct solution to this
problem.

Regardless, there is a patch for this issue already out there which is waiting
for review.  I don't think discussing it further at this point will achieve
anything.

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


[Issue 2025] Inconsistent rules for instantiating templates with a tuple parameter

2012-02-01 Thread d-bugmail
http://d.puremagic.com/issues/show_bug.cgi?id=2025



--- Comment #9 from yebblies yebbl...@gmail.com 2012-02-01 23:55:06 EST ---
(In reply to comment #8)
 (In reply to comment #7)
  more specialized == better match.  That is how template type deduction 
  works.
 
 But there's no (T : int) version of this template.
 

It doesn't matter.

The compiler does template argument deduction through a function called
matchArg in template.c.  It will generate one of the match levels
(MATCHnomatch, MATCHconvert, MATCHconst, MATCHexact) based on what the template
parameter, spectype, and argument are.  matchArg does not know or care what the
other overloads of the template are, or even what the other arguments are.

For (T : int) to be preferred over (T), it must return a worse match level for
the unspecialized parameter.  Currently it will return MATCHconvert for these
parameters, and return MATCHexact only when there is a (matching) spec type.

Which leaves you with a non-exact match for (T) and (T...), even if it's the
only overload.

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


[Issue 6681] struct constructor call is converted to struct literal that breaks union initialization

2012-02-01 Thread d-bugmail
http://d.puremagic.com/issues/show_bug.cgi?id=6681



--- Comment #5 from yebblies yebbl...@gmail.com 2012-02-02 00:02:06 EST ---
(In reply to comment #4)
 Not exactly. It's a compiler structural problem: there's no way to specify a
 struct literal with missing fields. Struct static initializers can do it, but
 struct literals cannot.
 
 I think the solution is to merge struct literals with struct static
 initializers, as it says in a TODO in the code.

One of the D1 cases seems to have the same problem with struct static
initializers.  Can't this be done by just nulling out the untouched fields in
the Expressions array and ensuring at least one field gets initialized?

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


[Issue 4241] duplicate union initialization error doesn't give a file location

2012-02-01 Thread d-bugmail
http://d.puremagic.com/issues/show_bug.cgi?id=4241


yebblies yebbl...@gmail.com changed:

   What|Removed |Added

   Keywords||patch
 CC||yebbl...@gmail.com
   Platform|Other   |All
Version|2.041   |D1  D2
 OS/Version|Windows |All
   Severity|normal  |critical


--- Comment #2 from yebblies yebbl...@gmail.com 2012-02-02 00:03:26 EST ---
https://github.com/D-Programming-Language/dmd/pull/677

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


[Issue 4241] duplicate union initialization error doesn't give a file location

2012-02-01 Thread d-bugmail
http://d.puremagic.com/issues/show_bug.cgi?id=4241


yebblies yebbl...@gmail.com changed:

   What|Removed |Added

 AssignedTo|nob...@puremagic.com|yebbl...@gmail.com


--- Comment #3 from yebblies yebbl...@gmail.com 2012-02-02 00:05:11 EST ---
https://github.com/D-Programming-Language/dmd/pull/677

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


[Issue 2025] Inconsistent rules for instantiating templates with a tuple parameter

2012-02-01 Thread d-bugmail
http://d.puremagic.com/issues/show_bug.cgi?id=2025



--- Comment #10 from Stewart Gordon s...@iname.com 2012-02-01 05:27:34 PST ---
(In reply to comment #9)
 For (T : int) to be preferred over (T), it must return a worse 
 match level for the unspecialized parameter.  Currently it will 
 return MATCHconvert for these parameters, and return MATCHexact 
 only when there is a (matching) spec type.

So MATCHexact means the pattern can be matched only by this exact set of
arguments, and MATCHconvert means this is one of various sets of arguments
that can match this pattern.

But then, surely, it would be rejecting the instantiation as ambiguous, not
picking the (A...) overload.

Really, it's a fundamental flaw in the compiler logic whereby it conflates two
essentially orthogonal concepts: exactness and specialisation.

A correct template instantiation algorithm would:
- see which template patterns match the instantiation exactly
- if none, see which template patterns match with implicit conversions
- of all the matches, determine which is most specialised

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


[Issue 5684] Extremely show compile times with large tuples with -O -inline

2012-02-01 Thread d-bugmail
http://d.puremagic.com/issues/show_bug.cgi?id=5684


yebblies yebbl...@gmail.com changed:

   What|Removed |Added

 Status|NEW |RESOLVED
 CC||yebbl...@gmail.com
 Resolution||DUPLICATE


--- Comment #3 from yebblies yebbl...@gmail.com 2012-02-02 01:26:32 EST ---
*** This issue has been marked as a duplicate of issue 2396 ***

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


[Issue 6643] Very slow compilation for large switch() using -O and -inline

2012-02-01 Thread d-bugmail
http://d.puremagic.com/issues/show_bug.cgi?id=6643


yebblies yebbl...@gmail.com changed:

   What|Removed |Added

 Status|NEW |RESOLVED
 Resolution||DUPLICATE


--- Comment #7 from yebblies yebbl...@gmail.com 2012-02-02 01:26:44 EST ---
*** This issue has been marked as a duplicate of issue 2396 ***

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


[Issue 2025] Inconsistent rules for instantiating templates with a tuple parameter

2012-02-01 Thread d-bugmail
http://d.puremagic.com/issues/show_bug.cgi?id=2025



--- Comment #12 from Stewart Gordon s...@iname.com 2012-02-01 06:39:13 PST ---
(In reply to comment #11)
 No, MATCHconvert means 'match with implicit conversions'.  These are the same
 match levels used for normal function argument matching.

int is a type.  T as a template parameter denotes exactly that - a type.  So
what implicit conversion is being performed?

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


[Issue 783] Cannot use an array w/ const or variable index as new[] size argument.

2012-02-01 Thread d-bugmail
http://d.puremagic.com/issues/show_bug.cgi?id=783


yebblies yebbl...@gmail.com changed:

   What|Removed |Added

   Keywords||patch
 CC||yebbl...@gmail.com
Version|0.178   |D1  D2
 AssignedTo|bugzi...@digitalmars.com|yebbl...@gmail.com


--- Comment #4 from yebblies yebbl...@gmail.com 2012-02-02 01:44:15 EST ---
https://github.com/D-Programming-Language/dmd/pull/679

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


[Issue 2025] Inconsistent rules for instantiating templates with a tuple parameter

2012-02-01 Thread d-bugmail
http://d.puremagic.com/issues/show_bug.cgi?id=2025



--- Comment #13 from yebblies yebbl...@gmail.com 2012-02-02 01:51:55 EST ---
(In reply to comment #12)
 (In reply to comment #11)
  No, MATCHconvert means 'match with implicit conversions'.  These are the 
  same
  match levels used for normal function argument matching.
 
 int is a type.  T as a template parameter denotes exactly that - a type.  So
 what implicit conversion is being performed?

None.  That's why it's a hack to use it to represent deduced args with no spec
type.  That's why it causes problems...

If you really want to understand how dmd does template deduction and overload
matching have a poke around in template.c (deduceFunctionTemplateMatch and
matchArgs) and mtype.c (callMatch).

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


[Issue 6681] struct constructor call is converted to struct literal that breaks union initialization

2012-02-01 Thread d-bugmail
http://d.puremagic.com/issues/show_bug.cgi?id=6681



--- Comment #6 from Don clugd...@yahoo.com.au 2012-02-01 07:13:36 PST ---
(In reply to comment #5)
 (In reply to comment #4)
  Not exactly. It's a compiler structural problem: there's no way to specify a
  struct literal with missing fields. Struct static initializers can do it, 
  but
  struct literals cannot.
  
  I think the solution is to merge struct literals with struct static
  initializers, as it says in a TODO in the code.
 
 One of the D1 cases seems to have the same problem with struct static
 initializers.  Can't this be done by just nulling out the untouched fields in
 the Expressions array and ensuring at least one field gets initialized?

Maybe. The order of fields in a struct is fixed, so in theory that ought to
work.
It's a while since I last looked at it, but I remember there were severe
problems with anonymous unions nested inside anonymous unions. There's code
elsewhere in the compiler which tries to identify fields based on their type +
offset, but that cannot work. It appears to work at the moment, but only
because it assumes when fields are initialized in order with no gaps.
Still, I've fixed some of those compiler bugs recently, so maybe it's more
possible now.

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


[Issue 1124] inconsistent: calls opCmp(typeof(this) o); but array.sort calls opCmp(Object o)

2012-02-01 Thread d-bugmail
http://d.puremagic.com/issues/show_bug.cgi?id=1124


yebblies yebbl...@gmail.com changed:

   What|Removed |Added

 Status|NEW |RESOLVED
 CC||yebbl...@gmail.com
 Resolution||INVALID


--- Comment #2 from yebblies yebbl...@gmail.com 2012-02-02 02:14:51 EST ---
As Stewart said, this is working as designed.

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


[Issue 1457] array extension member syntax confused with local member functions

2012-02-01 Thread d-bugmail
http://d.puremagic.com/issues/show_bug.cgi?id=1457


yebblies yebbl...@gmail.com changed:

   What|Removed |Added

 Status|NEW |RESOLVED
 CC||yebbl...@gmail.com
 Resolution||DUPLICATE


--- Comment #2 from yebblies yebbl...@gmail.com 2012-02-02 02:18:48 EST ---
*** This issue has been marked as a duplicate of issue 2344 ***

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


[Issue 2344] Two wrong lookups for array functions

2012-02-01 Thread d-bugmail
http://d.puremagic.com/issues/show_bug.cgi?id=2344


yebblies yebbl...@gmail.com changed:

   What|Removed |Added

 CC||wbax...@gmail.com


--- Comment #4 from yebblies yebbl...@gmail.com 2012-02-02 02:18:48 EST ---
*** Issue 1457 has been marked as a duplicate of this issue. ***

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


[Issue 2307] (D1 only) Cannot use explicitly instantiated template function with array property syntax

2012-02-01 Thread d-bugmail
http://d.puremagic.com/issues/show_bug.cgi?id=2307


yebblies yebbl...@gmail.com changed:

   What|Removed |Added

 CC||yebbl...@gmail.com
   Platform|x86 |All
Version|2.018   |D1
Summary|Cannot use explicitly   |(D1 only) Cannot use
   |instantiated template   |explicitly instantiated
   |function with array |template function with
   |property syntax |array property syntax
 OS/Version|Windows |All


--- Comment #1 from yebblies yebbl...@gmail.com 2012-02-02 02:24:23 EST ---
Works in D2

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


[Issue 2712] error with passing an array slot as another array length to new

2012-02-01 Thread d-bugmail
http://d.puremagic.com/issues/show_bug.cgi?id=2712


yebblies yebbl...@gmail.com changed:

   What|Removed |Added

 Status|NEW |RESOLVED
 CC||yebbl...@gmail.com
 Resolution||DUPLICATE


--- Comment #2 from yebblies yebbl...@gmail.com 2012-02-02 02:28:52 EST ---
*** This issue has been marked as a duplicate of issue 783 ***

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


[Issue 783] Cannot use an array w/ const or variable index as new[] size argument.

2012-02-01 Thread d-bugmail
http://d.puremagic.com/issues/show_bug.cgi?id=783



--- Comment #5 from yebblies yebbl...@gmail.com 2012-02-02 02:28:52 EST ---
*** Issue 2712 has been marked as a duplicate of this issue. ***

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


[Issue 3221] (D1 only) Can't use property syntax with ufcs

2012-02-01 Thread d-bugmail
http://d.puremagic.com/issues/show_bug.cgi?id=3221


yebblies yebbl...@gmail.com changed:

   What|Removed |Added

   Keywords||rejects-valid
 CC||yebbl...@gmail.com
Version|2.032   |D1
Summary|Array extension methods |(D1 only) Can't use
   |require parentheses |property syntax with ufcs


--- Comment #4 from yebblies yebbl...@gmail.com 2012-02-02 02:33:23 EST ---
Works in D2 (2.058)

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


[Issue 3626] alias this prevents appending to array

2012-02-01 Thread d-bugmail
http://d.puremagic.com/issues/show_bug.cgi?id=3626


yebblies yebbl...@gmail.com changed:

   What|Removed |Added

 Status|NEW |RESOLVED
 CC||yebbl...@gmail.com
   Platform|Other   |All
Version|2.036   |D2
 Resolution||FIXED
 OS/Version|Mac OS X|All


--- Comment #1 from yebblies yebbl...@gmail.com 2012-02-02 02:36:16 EST ---
This works with the current compiler (2.058)

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


[Issue 3501] (D1 only) is null comparison should be disallowed for fixed-size arrays

2012-02-01 Thread d-bugmail
http://d.puremagic.com/issues/show_bug.cgi?id=3501


yebblies yebbl...@gmail.com changed:

   What|Removed |Added

   Keywords||accepts-invalid
 CC||yebbl...@gmail.com
   Platform|Other   |All
Version|2.036   |D1
Summary|is null comparison should |(D1 only) is null
   |be disallowed for   |comparison should be
   |fixed-size arrays   |disallowed for fixed-size
   ||arrays
 OS/Version|Windows |All


--- Comment #1 from yebblies yebbl...@gmail.com 2012-02-02 02:35:12 EST ---
Fixed in D2 (2.058)

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


[Issue 5718] Can't demangle symbol defined inside unittest block

2012-02-01 Thread d-bugmail
http://d.puremagic.com/issues/show_bug.cgi?id=5718


Kenji Hara k.hara...@gmail.com changed:

   What|Removed |Added

   Keywords||pull


--- Comment #5 from Kenji Hara k.hara...@gmail.com 2012-02-01 07:44:09 PST ---
(In reply to comment #4)
 Ok, can you do a pull request for deprecating it, and then we can close this?

Sorry, I had mistaken. std.traits.mangledName has an extra feature against the
built-in mangleof property. It returns a pseudo mangled name from given
template symbol.

// from unittest
assert(mangledName!mangledName == 3std6traits11mangledName);

It is useful for getting unique string from template symbol, even if
std.demangle.demangle() cannot demangle it.

Therefore, now I cannot recommend to deprecate it.
But we can fix the original issue. Please merge following pull:

https://github.com/D-Programming-Language/phobos/pull/414

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


[Issue 3683] Linker error on certain array expressions when using -release and -inline

2012-02-01 Thread d-bugmail
http://d.puremagic.com/issues/show_bug.cgi?id=3683


yebblies yebbl...@gmail.com changed:

   What|Removed |Added

 Status|NEW |RESOLVED
 CC||yebbl...@gmail.com
 Resolution||DUPLICATE


--- Comment #1 from yebblies yebbl...@gmail.com 2012-02-02 02:41:15 EST ---
*** This issue has been marked as a duplicate of issue 5592 ***

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


[Issue 5592] Previous definition different: __arrayExpSliceMulSliceAddass_d

2012-02-01 Thread d-bugmail
http://d.puremagic.com/issues/show_bug.cgi?id=5592


yebblies yebbl...@gmail.com changed:

   What|Removed |Added

 CC||eriatark...@gmail.com


--- Comment #3 from yebblies yebbl...@gmail.com 2012-02-02 02:41:15 EST ---
*** Issue 3683 has been marked as a duplicate of this issue. ***

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


[Issue 5570] 64 bit C ABI not followed for passing structs and complex numbers as function parameters

2012-02-01 Thread d-bugmail
http://d.puremagic.com/issues/show_bug.cgi?id=5570


Trass3r mrmoc...@gmx.de changed:

   What|Removed |Added

 CC||mrmoc...@gmx.de


--- Comment #5 from Trass3r mrmoc...@gmx.de 2012-02-01 17:08:14 CET ---
So should we raise this to 'blocker'?

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


[Issue 3812] Missing line number for implicit cast of variadic function to array

2012-02-01 Thread d-bugmail
http://d.puremagic.com/issues/show_bug.cgi?id=3812


yebblies yebbl...@gmail.com changed:

   What|Removed |Added

   Keywords||patch
 CC||yebbl...@gmail.com
   Platform|Other   |All
Version|2.038   |D1  D2
 AssignedTo|nob...@puremagic.com|yebbl...@gmail.com
 OS/Version|Windows |All
   Severity|normal  |critical


--- Comment #1 from yebblies yebbl...@gmail.com 2012-02-02 03:06:51 EST ---
https://github.com/D-Programming-Language/dmd/pull/680

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


[Issue 3826] init of fixed sized arrays

2012-02-01 Thread d-bugmail
http://d.puremagic.com/issues/show_bug.cgi?id=3826


yebblies yebbl...@gmail.com changed:

   What|Removed |Added

 Status|NEW |RESOLVED
 CC||yebbl...@gmail.com
   Platform|x86 |All
Version|2.040   |D1  D2
 Resolution||FIXED
 OS/Version|Windows |All


--- Comment #3 from yebblies yebbl...@gmail.com 2012-02-02 03:11:46 EST ---
This works as expected with the current compiler (2.058  1.072)

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


[Issue 3927] array.length++; is an error, but ++array.length compiles

2012-02-01 Thread d-bugmail
http://d.puremagic.com/issues/show_bug.cgi?id=3927


yebblies yebbl...@gmail.com changed:

   What|Removed |Added

 CC||yebbl...@gmail.com
   Platform|x86 |All
Version|2.041   |D1  D2
 AssignedTo|nob...@puremagic.com|yebbl...@gmail.com
 OS/Version|Windows |All


--- Comment #2 from yebblies yebbl...@gmail.com 2012-02-02 03:32:09 EST ---
https://github.com/D-Programming-Language/dmd/pull/681

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


[Issue 6681] struct constructor call is converted to struct literal that breaks union initialization

2012-02-01 Thread d-bugmail
http://d.puremagic.com/issues/show_bug.cgi?id=6681



--- Comment #7 from yebblies yebbl...@gmail.com 2012-02-02 03:38:36 EST ---
Ok, I'll take a look at it tomorrow unless you want it.  I know there are at
least two places it checks for overlapping union initialization, one in
expression.c and one somewhere in the glue, maybe e2ir?

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


[Issue 3389] gdb: using -gc is mandatory but not well documented

2012-02-01 Thread d-bugmail
http://d.puremagic.com/issues/show_bug.cgi?id=3389



--- Comment #4 from d...@dawgfoto.de 2012-02-01 11:27:20 PST ---
Thats a wrong comparision because neither -g not -ggdb make the compiler
fake C++ debug information as C. The -gc flag is a hack to masquerade as
C which should not be the default if -g works for most platforms.

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


[Issue 7418] New: Overloading doesn't work with aliases declared inside templates

2012-02-01 Thread d-bugmail
http://d.puremagic.com/issues/show_bug.cgi?id=7418

   Summary: Overloading doesn't work with aliases declared inside
templates
   Product: D
   Version: D2
  Platform: All
OS/Version: All
Status: NEW
  Severity: normal
  Priority: P2
 Component: DMD
AssignedTo: nob...@puremagic.com
ReportedBy: siegelords_ab...@yahoo.com


--- Comment #0 from siegelords_ab...@yahoo.com 2012-02-01 11:34:05 PST ---
void test(uint a)
{

}

void test(char[] a)
{

}

template _test1(T = void)
{
alias test _test1;
}

alias test _test2;

void main()
{
_test2(a.dup);
_test2(1U);

_test1!()(a.dup); // Error: cannot implicitly convert expression
(_adDupT(_D12TypeInfo_Aya6__initZ,cast(string)a)) of type char[] to uint
_test1!()(1U);
}

Note how the alias outside the template works fine, but the one inside the
alias only picks up the lexically first match. Note that this works fine in D1.

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


[Issue 3389] gdb: using -gc is mandatory but not well documented

2012-02-01 Thread d-bugmail
http://d.puremagic.com/issues/show_bug.cgi?id=3389



--- Comment #5 from d...@dawgfoto.de 2012-02-01 11:34:57 PST ---
GDB already has D specific extensions (demangling and arrays). Using -g makes
use of them, -gc does not.
There won't be D specific DWARF extensions any time soon.
What we wanted to add can be modeled by newer DWARF versions but adapting them
would break older debuggers.

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


[Issue 7396] Indicate default alignment with 0.

2012-02-01 Thread d-bugmail
http://d.puremagic.com/issues/show_bug.cgi?id=7396



--- Comment #21 from d...@dawgfoto.de 2012-02-01 11:42:18 PST ---
I think it would also make sense to disallow any align(n) value greater than
align(16) for 32bit, and possibly align(32) for 64bit platforms.

Don't do that. GCC can provide arbitrary alignment even for stack values.
Also your number is already too low, xsave needs 64-byte alignment.

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


[Issue 7419] New: [2.058/CTFE] Constructor of struct is overwritten inside a unittest with -inline

2012-02-01 Thread d-bugmail
http://d.puremagic.com/issues/show_bug.cgi?id=7419

   Summary: [2.058/CTFE] Constructor of struct is overwritten
inside a unittest with -inline
   Product: D
   Version: D2
  Platform: All
OS/Version: All
Status: NEW
  Keywords: CTFE
  Severity: regression
  Priority: P2
 Component: DMD
AssignedTo: nob...@puremagic.com
ReportedBy: kenn...@gmail.com


--- Comment #0 from kenn...@gmail.com 2012-02-01 11:48:03 PST ---
Test case:

-
struct X7419 {
double x;
this(double x) {
this.x = x;
}
}
unittest {
enum x = {
auto p = X7419(3);
return p.x;
}();
static assert(x == 3);
}
-

Compile with:

dmd -unittest -inline -c test7419.d

Gives the unexpected error:

test7419.d(12): Error: static assert  (nan == 3) is false

The bug was introduced in commit 40160a53a0c72bfbad2e0ad36ec8f1ccbb76ce8d.

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


[Issue 7420] New: Duplicate cannot be read at compile time error messages

2012-02-01 Thread d-bugmail
http://d.puremagic.com/issues/show_bug.cgi?id=7420

   Summary: Duplicate cannot be read at compile time error
messages
   Product: D
   Version: D1  D2
  Platform: All
OS/Version: All
Status: NEW
  Severity: normal
  Priority: P2
 Component: DMD
AssignedTo: nob...@puremagic.com
ReportedBy: clugd...@yahoo.com.au


--- Comment #0 from Don clugd...@yahoo.com.au 2012-02-01 11:50:11 PST ---
int x = 2;
char[] y = abc.dup;
static assert(x  4);
static assert(y == abc);
static assert(cast(ubyte[])y != null);
static assert(y[0] == 1);
static assert(y[0..1].length == 1);

- BEFORE PATCH ---
crash.d(405): Error: variable x cannot be read at compile time
crash.d(405): Error: variable x cannot be read at compile time
crash.d(405):while evaluating: static assert(x  4)
crash.d(406): Error: variable y cannot be read at compile time
crash.d(406): Error: variable y cannot be read at compile time
crash.d(406):while evaluating: static assert(y == abc)
crash.d(407): Error: variable y cannot be read at compile time
crash.d(407): Error: variable y cannot be read at compile time
crash.d(407):while evaluating: static assert(cast(ubyte[])y != null)
crash.d(408): Error: variable y cannot be read at compile time
crash.d(408): Error: variable y cannot be read at compile time
crash.d(408):while evaluating: static assert(cast(int)y[0u] == 1)
crash.d(409): Error: variable y cannot be read at compile time
crash.d(409): Error: variable y cannot be read at compile time
crash.d(409):while evaluating: static assert(y[0u..1u].length == 1u)
 AFTER PATCH ---
crash.d(405): Error: variable x cannot be read at compile time
crash.d(405):while evaluating: static assert(x  4)
crash.d(406): Error: variable y cannot be read at compile time
crash.d(406):while evaluating: static assert(y == abc)
crash.d(407): Error: variable y cannot be read at compile time
crash.d(407):while evaluating: static assert(cast(ubyte[])y != null)
crash.d(408): Error: variable y cannot be read at compile time
crash.d(408):while evaluating: static assert(cast(int)y[0u] == 1)
crash.d(409): Error: variable y cannot be read at compile time
crash.d(409):while evaluating: static assert(y[0u..1u].length == 1u)

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


[Issue 7421] New: std.getopt does not work with shared strings

2012-02-01 Thread d-bugmail
http://d.puremagic.com/issues/show_bug.cgi?id=7421

   Summary: std.getopt does not work with shared strings
   Product: D
   Version: D2
  Platform: All
OS/Version: All
Status: NEW
  Severity: normal
  Priority: P2
 Component: Phobos
AssignedTo: nob...@puremagic.com
ReportedBy: rob...@octarineparrot.com


--- Comment #0 from Robert Clipsham rob...@octarineparrot.com 2012-02-01 
20:55:01 GMT ---
When using the following:

import std.getopt;

shared string foo;

void main(string[] args)
{
getopt(args, foo, foo);
}

Then using:

$ dmd test.d
$ ./test --foo=bar
std.conv.ConvException@/home/robert/.dvm/compilers/dmd-2.056/bin/../src/phobos/std/conv.d(1749):
Can't convert value `oo' of type string to type immutable(char)

./test(immutable(char) std.conv.toImpl!(immutable(char),
immutable(char)[]).toImpl(immutable(char)[])+0x43) [0x80671c3]
./test(immutable(char)
std.conv.to!(immutable(char)).to!(immutable(char)[]).to(immutable(char)[])+0xe)
[0x80670a2]
./test(void
std.getopt.handleOption!(shared(immutable(char)[])*).handleOption(immutable(char)[],
shared(immutable(char)[])*, ref immutable(char)[][], ref
std.getopt.configuration, bool)+0x393) [0x8066f13]
./test(void std.getopt.getoptImpl!(immutable(char)[],
shared(immutable(char)[])*).getoptImpl(ref immutable(char)[][], ref
std.getopt.configuration, immutable(char)[], shared(immutable(char)[])*)+0x90)
[0x8066b00]
./test(void std.getopt.getopt!(immutable(char)[],
shared(immutable(char)[])*).getopt(ref immutable(char)[][], immutable(char)[],
shared(immutable(char)[])*)+0x35) [0x8066a1d]
./test(_Dmain+0x1d) [0x80669e1]
./test(extern (C) int rt.dmain2.main(int, char**).void runMain()+0x14)
[0x8069a90]
./test(extern (C) int rt.dmain2.main(int, char**).void tryExec(scope void
delegate())+0x1d) [0x8069735]
./test(extern (C) int rt.dmain2.main(int, char**).void runAll()+0x37)
[0x8069ad7]
./test(extern (C) int rt.dmain2.main(int, char**).void tryExec(scope void
delegate())+0x1d) [0x8069735]
./test(main+0x94) [0x80696e4]
/lib/i386-linux-gnu/libc.so.6(__libc_start_main+0xf3) [0x60c113]


Removing the shared qualifier removes the issue. Tested with dmd 2.056 and
dmd-master on Linux x86-32.

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


[Issue 4729] std.algorithm: strange iota behaviour

2012-02-01 Thread d-bugmail
http://d.puremagic.com/issues/show_bug.cgi?id=4729


Brad Anderson e...@gnuk.net changed:

   What|Removed |Added

 CC||e...@gnuk.net


--- Comment #3 from Brad Anderson e...@gnuk.net 2012-02-01 13:21:38 PST ---
2.057 seems to handle this situation (trying to reduce an empty range but not
offering a seed) by throwing an appropriate exception:

object.Exception@C:\D\dmd2\windows\bin\..\..\src\phobos\std\algorithm.d(662):
Cannot reduce an empty range w/o an explicit seed value.

I believe this should be closed. Also, not sure why this is set as an optlink
issue.

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


[Issue 7419] [2.058/CTFE] Constructor of struct is overwritten inside a unittest with -inline

2012-02-01 Thread d-bugmail
http://d.puremagic.com/issues/show_bug.cgi?id=7419


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

   What|Removed |Added

 CC||clugd...@yahoo.com.au
 AssignedTo|nob...@puremagic.com|clugd...@yahoo.com.au


--- Comment #1 from Don clugd...@yahoo.com.au 2012-02-01 13:29:03 PST ---
It doesn't need unittest. The -inline seems to be necessary, I presume it's
creating a ref variable.

struct X7419 {
double x;
this(double x) {
this.x = x;
}
}

void bug7419() {
enum x = {
auto p = X7419(3);
return p.x;
}();
static assert(x == 3);
}

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


[Issue 6504] Regression(2.041): str ~ [arr] allows string literal to be modified

2012-02-01 Thread d-bugmail
http://d.puremagic.com/issues/show_bug.cgi?id=6504



--- Comment #4 from Walter Bright bugzi...@digitalmars.com 2012-02-01 
14:05:45 PST ---
I found out it causes the seg fault after posting last night. I don't quite
understand your suggestion. Do you have a fix that can be pulled?

I did try just not constant folding string~['c'] and letting that be done at
runtime, but that caused interpret3.d to fail, as it relies on the constant
folder to do that.

So I think that can work if you enhance CTFE to handle the string~['c'] case.

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


[Issue 783] Cannot use an array w/ const or variable index as new[] size argument.

2012-02-01 Thread d-bugmail
http://d.puremagic.com/issues/show_bug.cgi?id=783


Walter Bright bugzi...@digitalmars.com changed:

   What|Removed |Added

   Keywords|patch   |pull
 CC||bugzi...@digitalmars.com


--- Comment #6 from Walter Bright bugzi...@digitalmars.com 2012-02-01 
14:13:40 PST ---
Please use 'pull' keyword for ones with a pull request.

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


[Issue 5718] Can't demangle symbol defined inside unittest block

2012-02-01 Thread d-bugmail
http://d.puremagic.com/issues/show_bug.cgi?id=5718


Walter Bright bugzi...@digitalmars.com changed:

   What|Removed |Added

 Status|NEW |RESOLVED
 Resolution||FIXED


--- Comment #6 from Walter Bright bugzi...@digitalmars.com 2012-02-01 
14:26:53 PST ---
That pull fixes it.

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


[Issue 7002] std.path needs a isValidFilePath function

2012-02-01 Thread d-bugmail
http://d.puremagic.com/issues/show_bug.cgi?id=7002


Lars T. Kyllingstad bugzi...@kyllingen.net changed:

   What|Removed |Added

 CC||bugzi...@kyllingen.net


--- Comment #10 from Lars T. Kyllingstad bugzi...@kyllingen.net 2012-02-01 
14:27:36 PST ---
Sorry for coming late to the party, but I totally agree with Jonathan on this.

Such a function does not seem generic enough to warrant inclusion in the
standard library, and std.path already provides the building blocks making it a
one-liner:

bool isDefinitelyADir(string path)
{
return isValidPath(path)  isDirSeparator(path[$-1]);
}

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


[Issue 5718] Can't demangle symbol defined inside unittest block

2012-02-01 Thread d-bugmail
http://d.puremagic.com/issues/show_bug.cgi?id=5718



--- Comment #7 from github-bugzi...@puremagic.com 2012-02-01 14:32:50 PST ---
Commits pushed to master at https://github.com/D-Programming-Language/phobos

https://github.com/D-Programming-Language/phobos/commit/686f53f6d2d373ad13ea854b52e924fd7030422f
Issue 5718 - Can't demangle symbol defined inside unittest block

std.traits.mangledName should return valid mangled name against symbols in
function.

https://github.com/D-Programming-Language/phobos/commit/ac88792ea1a15a4815679359b69e731868db4391
Merge pull request #414 from 9rnsr/fix5718

Issue 5718 - Can't demangle symbol defined inside unittest block

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


[Issue 7001] std.path.baseName and isValidFilename wrong documentation

2012-02-01 Thread d-bugmail
http://d.puremagic.com/issues/show_bug.cgi?id=7001


Lars T. Kyllingstad bugzi...@kyllingen.net changed:

   What|Removed |Added

 Status|NEW |RESOLVED
 Resolution||INVALID


--- Comment #7 from Lars T. Kyllingstad bugzi...@kyllingen.net 2012-02-01 
14:33:48 PST ---
It seems the confusion has been cleared up, so I'm closing this.  If anyone
still disagrees, please reopen.

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


[Issue 6068] std.path has some issues for Windows user

2012-02-01 Thread d-bugmail
http://d.puremagic.com/issues/show_bug.cgi?id=6068


Lars T. Kyllingstad bugzi...@kyllingen.net changed:

   What|Removed |Added

 Status|NEW |RESOLVED
 CC||bugzi...@kyllingen.net
 Resolution||WONTFIX


--- Comment #2 from Lars T. Kyllingstad bugzi...@kyllingen.net 2012-02-01 
14:31:36 PST ---
Marking this as won't fix, since the functions in question will soon be
removed from Phobos.

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


[Issue 6790] buildPath using std.path.curdir segfaults

2012-02-01 Thread d-bugmail
http://d.puremagic.com/issues/show_bug.cgi?id=6790



--- Comment #6 from Lars T. Kyllingstad bugzi...@kyllingen.net 2012-02-01 
14:41:35 PST ---
Have you tried this with DMD 2.057, and if so, are you still experiencing the
same problem?

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


[Issue 7422] New: Regression(master): ICE with template function and if statement

2012-02-01 Thread d-bugmail
http://d.puremagic.com/issues/show_bug.cgi?id=7422

   Summary: Regression(master): ICE with template function and if
statement
   Product: D
   Version: D2
  Platform: All
OS/Version: All
Status: NEW
  Severity: regression
  Priority: P2
 Component: DMD
AssignedTo: nob...@puremagic.com
ReportedBy: rob...@octarineparrot.com


--- Comment #0 from Robert Clipsham rob...@octarineparrot.com 2012-02-01 
22:55:31 GMT ---
The following:

struct Logger {
static void info()() {
}
}

void view() {
if (Logger.info) {
}
}

ICEs with git master @ dc7916071b60739dcc8c09e43ff3da5218b42ff2, giving the
following error:
dmd: statement.c:2520: virtual Statement* IfStatement::semantic(Scope*):
Assertion `condition-type' failed.
Aborted

On linux x86_32. Note this still occurs if you make this into a valid test case
by overloading the info() method with one that returns bool.

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


[Issue 7294] [Regression] No warning when escaping local reference type variables

2012-02-01 Thread d-bugmail
http://d.puremagic.com/issues/show_bug.cgi?id=7294



--- Comment #1 from github-bugzi...@puremagic.com 2012-02-01 17:23:12 PST ---
Commit pushed to master at https://github.com/D-Programming-Language/dmd

https://github.com/D-Programming-Language/dmd/commit/28324c5c1226571f2ee96eebee5fd3ad09ebe031
fix Issue 7294 - [Regression] No warning when escaping local reference type
variables

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


[Issue 7294] [Regression] No warning when escaping local reference type variables

2012-02-01 Thread d-bugmail
http://d.puremagic.com/issues/show_bug.cgi?id=7294


Walter Bright bugzi...@digitalmars.com changed:

   What|Removed |Added

 Status|NEW |RESOLVED
 CC||bugzi...@digitalmars.com
 Resolution||FIXED


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


[Issue 3686] common type of imaginary and non-imaginary should be complex

2012-02-01 Thread d-bugmail
http://d.puremagic.com/issues/show_bug.cgi?id=3686


yebblies yebbl...@gmail.com changed:

   What|Removed |Added

   Keywords|patch   |
Version|2.038   |D2


--- Comment #2 from yebblies yebbl...@gmail.com 2012-02-02 12:51:32 EST ---
Imaginary and complex numbers are going away.

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


[Issue 4031] Should be able to access const value-type globals from pure functions

2012-02-01 Thread d-bugmail
http://d.puremagic.com/issues/show_bug.cgi?id=4031


yebblies yebbl...@gmail.com changed:

   What|Removed |Added

   Keywords|patch   |pull
 Status|NEW |RESOLVED
 Resolution||FIXED


--- Comment #4 from yebblies yebbl...@gmail.com 2012-02-02 12:54:48 EST ---
This was fixed a while ago.

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


[Issue 5481] Support deprecated(message)

2012-02-01 Thread d-bugmail
http://d.puremagic.com/issues/show_bug.cgi?id=5481


yebblies yebbl...@gmail.com changed:

   What|Removed |Added

   Keywords|patch   |pull


--- Comment #3 from yebblies yebbl...@gmail.com 2012-02-02 13:00:47 EST ---
https://github.com/D-Programming-Language/dmd/pull/463

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


[Issue 3994] Wrong line numbers inside AA/Array initializers

2012-02-01 Thread d-bugmail
http://d.puremagic.com/issues/show_bug.cgi?id=3994


yebblies yebbl...@gmail.com changed:

   What|Removed |Added

 Status|NEW |RESOLVED
 CC||yebbl...@gmail.com
 Resolution||DUPLICATE


--- Comment #1 from yebblies yebbl...@gmail.com 2012-02-02 13:58:42 EST ---
Same issue - array initializers get the wrong locations assigned.

*** This issue has been marked as a duplicate of issue 977 ***

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


[Issue 977] Wrong line number reported for a missing comma in an array initializer within a struct initializer

2012-02-01 Thread d-bugmail
http://d.puremagic.com/issues/show_bug.cgi?id=977


yebblies yebbl...@gmail.com changed:

   What|Removed |Added

 CC||cbkbbej...@mailinator.com

Bug 977 depends on bug 3994, which changed state.

Bug 3994 Summary: Wrong line numbers inside AA/Array initializers
http://d.puremagic.com/issues/show_bug.cgi?id=3994

   What|Old Value   |New Value

 Status|NEW |RESOLVED
 Resolution||DUPLICATE

--- Comment #1 from yebblies yebbl...@gmail.com 2012-02-02 13:58:42 EST ---
*** Issue 3994 has been marked as a duplicate of this issue. ***

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


[Issue 977] Expressions inside a struct or array initializer get wrong line number

2012-02-01 Thread d-bugmail
http://d.puremagic.com/issues/show_bug.cgi?id=977


yebblies yebbl...@gmail.com changed:

   What|Removed |Added

 CC||yebbl...@gmail.com
   Platform|x86 |All
Version|1.006   |D1  D2
Summary|Wrong line number reported  |Expressions inside a struct
   |for a missing comma in an   |or array initializer get
   |array initializer within a  |wrong line number
   |struct initializer  |
 OS/Version|Windows |All
   Severity|minor   |major


--- Comment #2 from yebblies yebbl...@gmail.com 2012-02-02 14:02:38 EST ---
This happens because the parser scans across the whole initializer to determine
if it's an expression or an initializer.  Because it's already lexed the whole
initializer, the lexer's loc points to the end, and this is what is assigned to
each expression.  Not sure how to solve this without re-lexing the initializer.

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


[Issue 3995] Can't access array/AA from function literal defined inside the array/AA's initializer

2012-02-01 Thread d-bugmail
http://d.puremagic.com/issues/show_bug.cgi?id=3995


yebblies yebbl...@gmail.com changed:

   What|Removed |Added

 CC||yebbl...@gmail.com
   Platform|Other   |All
Version|1.050   |D1  D2
 Blocks|340 |
 OS/Version|Windows |All
   Severity|normal  |enhancement


--- Comment #2 from yebblies yebbl...@gmail.com 2012-02-02 14:07:15 EST ---
This is working as intended.

Variables are not added to the scope until after their initializers are
processed, preventing garbage like this:

int x = x;

And other cases where this would make it possible to refer to uninitialized
variables that, even when they have an initializer.

A trivial workaround is the following:

int delegate(int)[string] dgMap;
auto tmp = [ ... delegate definitions referring to dgMap ... ];
dgMap = tmp;

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


[Issue 2356] array literal as non static initializer generates horribly inefficient code.

2012-02-01 Thread d-bugmail
http://d.puremagic.com/issues/show_bug.cgi?id=2356


yebblies yebbl...@gmail.com changed:

   What|Removed |Added

 CC||rsi...@gmail.com


--- Comment #7 from yebblies yebbl...@gmail.com 2012-02-02 14:27:49 EST ---
*** Issue 4298 has been marked as a duplicate of this issue. ***

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


[Issue 4426] assert(condition, string) fails in std.array.back

2012-02-01 Thread d-bugmail
http://d.puremagic.com/issues/show_bug.cgi?id=4426


yebblies yebbl...@gmail.com changed:

   What|Removed |Added

 Status|NEW |RESOLVED
 CC||yebbl...@gmail.com
 Resolution||WORKSFORME


--- Comment #1 from yebblies yebbl...@gmail.com 2012-02-02 14:35:08 EST ---
The workaround is gone from std.array.back.

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


opDispatch returning this not working in a hierarchy

2012-02-01 Thread Daniel L. Alves
Hi,
I don't know if this is really a bug or some gotcha of the language that I
don't get. I'm sorry if it happens to be the later.

When I run this simple program

class DispatchBase
{
auto opDispatch( string m, Args... )( Args  args )
{
writefln( Tried to call %s, m );
return this;
}
}

class DispatchDerived : DispatchBase
{
void printValue( T )( T value )
{
writefln( Value is %s, value );
}
}

void main()
{
DispatchBase base = new DispatchDerived();
base.items.printValue( true );
}

I receive this output

Tried to call items
Tried to call printValue

But what I was expecting is

Tried to call items
Value is true

After all, opDispatch returns 'this'. The interesting thing is that when I
move opDispatch up to DispatchDerived, everything works fine. It's like 'this'
inside opDispatch didn't recognize its real type when in a base class.

Hope you can help me.
Daniel


Re: opDispatch returning this not working in a hierarchy

2012-02-01 Thread Walter Bright

On 2/1/2012 8:00 PM, Daniel L. Alves wrote:

I don't know if this is really a bug or some gotcha of the language that I
don't get. I'm sorry if it happens to be the later.



This n.g. is mainly for bugzilla notifications. Questions like this should go 
into the digitalmars.D.learn n.g.


But to answer your question, printValue is a template, and templates are not 
virtual. Also, DispatchBase.opDispatch knows nothing about DispatchDerived.


Re: opDispatch returning this not working in a hierarchy

2012-02-01 Thread Daniel Murphy
There are some issues with mixing opDispatch and property syntax.  Try:
base.items().printValue( true );

This list is not for posting bug reports, it's just for bugzilla issues. 
Please post this kind of thing to d.learn or open a bug report at 
http://d.puremagic.com/issues/

Daniel L. Alves daniel_lopes_al...@hotmail.com wrote in message 
news:jgd1oj$2r04$1...@digitalmars.com...
 Hi,
 I don't know if this is really a bug or some gotcha of the language that I
 don't get. I'm sorry if it happens to be the later.

 When I run this simple program

 class DispatchBase
 {
auto opDispatch( string m, Args... )( Args  args )
{
writefln( Tried to call %s, m );
return this;
}
 }

 class DispatchDerived : DispatchBase
 {
void printValue( T )( T value )
{
writefln( Value is %s, value );
}
 }

 void main()
 {
DispatchBase base = new DispatchDerived();
base.items.printValue( true );
 }

 I receive this output

 Tried to call items
 Tried to call printValue

 But what I was expecting is

 Tried to call items
 Value is true

 After all, opDispatch returns 'this'. The interesting thing is that when I
 move opDispatch up to DispatchDerived, everything works fine. It's like 
 'this'
 inside opDispatch didn't recognize its real type when in a base class.

 Hope you can help me.
 Daniel 




[Issue 4397] const/CTFE does not work

2012-02-01 Thread d-bugmail
http://d.puremagic.com/issues/show_bug.cgi?id=4397


yebblies yebbl...@gmail.com changed:

   What|Removed |Added

 Status|REOPENED|RESOLVED
 CC||yebbl...@gmail.com
 Resolution||DUPLICATE


--- Comment #13 from yebblies yebbl...@gmail.com 2012-02-02 15:32:18 EST ---
*** This issue has been marked as a duplicate of issue 2526 ***

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


[Issue 2356] array literal as non static initializer generates horribly inefficient code.

2012-02-01 Thread d-bugmail
http://d.puremagic.com/issues/show_bug.cgi?id=2356


yebblies yebbl...@gmail.com changed:

   What|Removed |Added

 CC||s...@invisibleduck.org


--- Comment #8 from yebblies yebbl...@gmail.com 2012-02-02 15:34:11 EST ---
*** Issue 4881 has been marked as a duplicate of this issue. ***

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


[Issue 5367] Array of closures assign problem

2012-02-01 Thread d-bugmail
http://d.puremagic.com/issues/show_bug.cgi?id=5367


yebblies yebbl...@gmail.com changed:

   What|Removed |Added

 Status|NEW |RESOLVED
 CC||yebbl...@gmail.com
 Resolution||WORKSFORME


--- Comment #1 from yebblies yebbl...@gmail.com 2012-02-02 15:37:29 EST ---
Probably fixed with the other delegate conversion bugs.

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


[Issue 3389] gdb: using -gc is mandatory but not well documented

2012-02-01 Thread d-bugmail
http://d.puremagic.com/issues/show_bug.cgi?id=3389


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

   What|Removed |Added

 Status|REOPENED|RESOLVED
 CC||bra...@puremagic.com
 Resolution||WONTFIX


--- Comment #6 from Brad Roberts bra...@puremagic.com 2012-02-01 20:54:51 PST 
---
The bottom line is that -g needs to 'just work' with the standard debuggers on
the supported platforms.  Assuming that -g works, -gc is a left over appendage.
 A whole lot of progress has been made in a number of commits over the last
year. 

Some quick testing on linux shows that it works quite well with just -g now.

With that in mind, I'm resolving this bug report as wontfix since -gc isn't
mandatory any more.

Chances are that there's more bugs left, so please feel encouraged to distill
repro cases where -g doesn't just work, file them, and we'll work on them.

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


[Issue 4932] Add opUnary() address-of support

2012-02-01 Thread d-bugmail
http://d.puremagic.com/issues/show_bug.cgi?id=4932


Vladimir Panteleev thecybersha...@gmail.com changed:

   What|Removed |Added

 CC||thecybersha...@gmail.com


--- Comment #1 from Vladimir Panteleev thecybersha...@gmail.com 2012-02-01 
20:57:20 PST ---
TDPL explicitly lists  as an operator which cannot be overloaded.

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


[Issue 4149] refs displayed as pointers in gdb

2012-02-01 Thread d-bugmail
http://d.puremagic.com/issues/show_bug.cgi?id=4149



--- Comment #15 from Brad Roberts bra...@puremagic.com 2012-02-01 21:03:43 
PST ---
Please stop cluttering this bug report with discussion about the meaning of -g,
that's a solved problem.  This report is about preserving 'ref'ness through the
backend and dwarf debug data.

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


[Issue 4044] [Tracker] Bad debug information and DWARF errors

2012-02-01 Thread d-bugmail
http://d.puremagic.com/issues/show_bug.cgi?id=4044


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

   What|Removed |Added

 Status|NEW |RESOLVED
 CC||bra...@puremagic.com
 Resolution||INVALID


--- Comment #1 from Brad Roberts bra...@puremagic.com 2012-02-01 21:10:39 PST 
---
closing, we don't need a tracker to track other bugs.

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


[Issue 4044] [Tracker] Bad debug information and DWARF errors

2012-02-01 Thread d-bugmail
http://d.puremagic.com/issues/show_bug.cgi?id=4044


Walter Bright bugzi...@digitalmars.com changed:

   What|Removed |Added

 CC||bugzi...@digitalmars.com


--- Comment #2 from Walter Bright bugzi...@digitalmars.com 2012-02-01 
21:19:37 PST ---
(In reply to comment #1)
 closing, we don't need a tracker to track other bugs.

I agree, that's what keywords are for. In this case, symdeb.

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


[Issue 7416] 2.058 regression: fails to instantiate a constrained function template with a nested function

2012-02-01 Thread d-bugmail
http://d.puremagic.com/issues/show_bug.cgi?id=7416



--- Comment #1 from github-bugzi...@puremagic.com 2012-02-01 21:20:39 PST ---
Commit pushed to master at https://github.com/D-Programming-Language/dmd

https://github.com/D-Programming-Language/dmd/commit/960f6fd4404750ab2d637f66d63ff70c98f5b73c
fix Issue 7416 - 2.058 regression: fails to instantiate a constrained function
template with a nested function

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


[Issue 7416] 2.058 regression: fails to instantiate a constrained function template with a nested function

2012-02-01 Thread d-bugmail
http://d.puremagic.com/issues/show_bug.cgi?id=7416


Walter Bright bugzi...@digitalmars.com changed:

   What|Removed |Added

 Status|NEW |RESOLVED
 CC||bugzi...@digitalmars.com
 Resolution||FIXED


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


[Issue 5448] Array of AAs literal doesn't work

2012-02-01 Thread d-bugmail
http://d.puremagic.com/issues/show_bug.cgi?id=5448


yebblies yebbl...@gmail.com changed:

   What|Removed |Added

   Keywords||pull
 CC||yebbl...@gmail.com
   Platform|x86 |All
 AssignedTo|nob...@puremagic.com|yebbl...@gmail.com
 OS/Version|Windows |All


--- Comment #2 from yebblies yebbl...@gmail.com 2012-02-02 16:24:13 EST ---
https://github.com/D-Programming-Language/dmd/pull/683

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


[Issue 7419] [2.058/CTFE] Constructor of struct is overwritten inside a unittest with -inline

2012-02-01 Thread d-bugmail
http://d.puremagic.com/issues/show_bug.cgi?id=7419


Walter Bright bugzi...@digitalmars.com changed:

   What|Removed |Added

 CC||bugzi...@digitalmars.com


--- Comment #2 from Walter Bright bugzi...@digitalmars.com 2012-02-01 
21:24:53 PST ---
Linky:
https://github.com/D-Programming-Language/dmd/commit/40160a53a0c72bfbad2e0ad36ec8f1ccbb76ce8d

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


[Issue 5498] wrong common type deduction for array of classes

2012-02-01 Thread d-bugmail
http://d.puremagic.com/issues/show_bug.cgi?id=5498


yebblies yebbl...@gmail.com changed:

   What|Removed |Added

   Keywords||pull, rejects-valid
 CC||yebbl...@gmail.com
Version|D2  |D1  D2
 AssignedTo|nob...@puremagic.com|yebbl...@gmail.com
Summary|array of elements of|wrong common type deduction
   |subtypes of a common|for array of classes
   |supertype   |


--- Comment #3 from yebblies yebbl...@gmail.com 2012-02-02 16:47:47 EST ---
https://github.com/D-Programming-Language/dmd/pull/684

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


[Issue 7419] [2.058/CTFE] Constructor of struct is overwritten inside a unittest with -inline

2012-02-01 Thread d-bugmail
http://d.puremagic.com/issues/show_bug.cgi?id=7419



--- Comment #3 from Walter Bright bugzi...@digitalmars.com 2012-02-01 
22:00:23 PST ---
Looking at that git commit, if I add back in the following code that was
elided:

3450a3451,3459

 #if 1
 if (op==TOKconstruct  this-e1-op==TOKvar  this-e2-op != TOKthis
  this-e2-op != TOKcomma
  ((VarExp*)this-e1)-var-storage_class  STCref)
 wantRef = true;
 #endif



then it works.

Note that when -inline is used, the only function that gets inlined is the
constructor call.

Note the comment for the elision, saying it is to fix something with foreach,
yet foreach is not in this example, I think the problem is in CTFE.

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


[Issue 5567] arrays can't call aliased functions as member functions

2012-02-01 Thread d-bugmail
http://d.puremagic.com/issues/show_bug.cgi?id=5567


yebblies yebbl...@gmail.com changed:

   What|Removed |Added

 Status|NEW |RESOLVED
 CC||yebbl...@gmail.com
 Resolution||DUPLICATE


--- Comment #1 from yebblies yebbl...@gmail.com 2012-02-02 17:23:39 EST ---
The problem is not the alias, but the fact the alias is not at global scope.

*** This issue has been marked as a duplicate of issue 4525 ***

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


[Issue 4525] Regression(2.020) Array member call syntax can't find matches in current class

2012-02-01 Thread d-bugmail
http://d.puremagic.com/issues/show_bug.cgi?id=4525


yebblies yebbl...@gmail.com changed:

   What|Removed |Added

 CC||jmdavisp...@gmx.com


--- Comment #8 from yebblies yebbl...@gmail.com 2012-02-02 17:23:40 EST ---
*** Issue 5567 has been marked as a duplicate of this issue. ***

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


[Issue 3742] Please add support for 'Lightweight Profiling' which adds a set of user-controlled counters to the AMD64 architecture

2012-02-01 Thread d-bugmail
http://d.puremagic.com/issues/show_bug.cgi?id=3742


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

   What|Removed |Added

 Status|NEW |RESOLVED
 Resolution||INVALID


--- Comment #5 from Don clugd...@yahoo.com.au 2012-02-01 22:30:23 PST ---
Invalid - processor specific, belongs in a library, too vague to be actionable.

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


[Issue 660] Incorrect protection error message

2012-02-01 Thread d-bugmail
http://d.puremagic.com/issues/show_bug.cgi?id=660


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

   What|Removed |Added

 Status|ASSIGNED|NEW


--- Comment #2 from Don clugd...@yahoo.com.au 2012-02-01 22:32:25 PST ---
This is actually a bit worse. If you swap the order of the private static
and public virtual foo, it compiles!

class A
{
private static void foo(int i) {}
public void foo() {}
}

class B
{
void bar(int x)
{
   A.foo (x);
}
}

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


[Issue 7423] New: Regression (2.057): Hex Literals are no longer treated as unsigned.

2012-02-01 Thread d-bugmail
http://d.puremagic.com/issues/show_bug.cgi?id=7423

   Summary: Regression (2.057): Hex Literals are no longer treated
as unsigned.
   Product: D
   Version: D2
  Platform: All
OS/Version: All
Status: NEW
  Severity: regression
  Priority: P2
 Component: DMD
AssignedTo: nob...@puremagic.com
ReportedBy: flybo...@gmail.com


--- Comment #0 from Adam Wilson flybo...@gmail.com 2012-02-01 22:43:21 PST ---
I have taken this example code from druntime as that is what I was compiling
for testing the new DI generation code. The only way to get bitop.d to compile
using the GIT latest DMD was to add cast(uint) in front of every hex literal in
the popcnt() function.

//BROKEN popcnt function
int popcnt( uint x )
{
x = x - ((x1)  0x_);
x = ((x0x_)2) + (x0x_);
x += (x4);
x = 0x0F0F_0F0F;
x += (x8);
x = 0x00FF_00FF;
x += (x16);
x = 0x;
return x;
}
//FIXED popcnt function
int popcnt( uint x )
{
x = x - ((x1)  cast(uint)0x_);
x = ((xcast(uint)0x_)2) + (xcast(uint)0x_);
x += (x4);
x = cast(uint)0x0F0F_0F0F;
x += (x8);
x = cast(uint)0x00FF_00FF;
x += (x16);
x = cast(uint)0x;
return x;
}

Here is the full error dump from DMD:
typeMerge() x  1 op 1431655765
001E1E04  type=null e1=001E1DBC e2=001E1DE0
  001E1DBC  type=uint e1=023E3244 e2=001E1D98
023E3244 var var=x type=uint
001E1D98 1 type=int
  001E1DE0 1431655765 type=int
t1 = uint
t2 = int
assert cast.c(2082) t1-ty == t2-ty

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


[Issue 7423] Regression (2.057): Hex Literals are no longer treated as unsigned.

2012-02-01 Thread d-bugmail
http://d.puremagic.com/issues/show_bug.cgi?id=7423


Adam Wilson flybo...@gmail.com changed:

   What|Removed |Added

   Priority|P2  |P1
 CC||flybo...@gmail.com


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


[Issue 7423] Regression (2.057): Hex Literals are no longer treated as unsigned.

2012-02-01 Thread d-bugmail
http://d.puremagic.com/issues/show_bug.cgi?id=7423


Walter Bright bugzi...@digitalmars.com changed:

   What|Removed |Added

 CC||bugzi...@digitalmars.com
   Severity|regression  |normal


--- Comment #3 from Walter Bright bugzi...@digitalmars.com 2012-02-01 
23:13:46 PST ---
I don't think this was a regression. Recategorized.

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


  1   2   >