[Issue 6408] string[].init gives a wrong type

2013-01-20 Thread d-bugmail
http://d.puremagic.com/issues/show_bug.cgi?id=6408


Kenji Hara  changed:

   What|Removed |Added

 Status|NEW |RESOLVED
 Resolution||FIXED


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


[Issue 6408] string[].init gives a wrong type

2013-01-20 Thread d-bugmail
http://d.puremagic.com/issues/show_bug.cgi?id=6408



--- Comment #9 from github-bugzi...@puremagic.com 2013-01-20 23:00:22 PST ---
Commits pushed to master at https://github.com/D-Programming-Language/dmd

https://github.com/D-Programming-Language/dmd/commit/064b0419f8956a76f3d7cabeacd0861cff802923
Fix Issue 6408 - string[].init gives a wrong type

Allow reinterpreting a slice or index expression as a dynamic array, static
array, or associative array

https://github.com/D-Programming-Language/dmd/commit/cd9ef35c402dbeb177343c7cea5b9ed4a5e6b94f
Merge pull request #1495 from yebblies/issue6408

Fix Issue 6408 - string[].init gives a wrong type

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


[Issue 6057] Problem with defining enum in function

2013-01-20 Thread d-bugmail
http://d.puremagic.com/issues/show_bug.cgi?id=6057


Kenji Hara  changed:

   What|Removed |Added

 Status|NEW |RESOLVED
 Resolution||FIXED


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


[Issue 6057] Problem with defining enum in function

2013-01-20 Thread d-bugmail
http://d.puremagic.com/issues/show_bug.cgi?id=6057



--- Comment #4 from github-bugzi...@puremagic.com 2013-01-20 20:04:33 PST ---
Commits pushed to master at https://github.com/D-Programming-Language/dmd

https://github.com/D-Programming-Language/dmd/commit/3fe666756029484ae58c4b7fdb7dfbb6bb99fa8c
Fixes Issue 6057 - Nested enum declaration causes linker errors due to missing
sections in obj file.

https://github.com/D-Programming-Language/dmd/commit/bcb066f49496bc0383fe74663b910578685308a2
Merge pull request #1391 from AndrejMitrovic/Fix6057

Issue 6057 - Nested enum declaration causes linker errors

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


[Issue 9361] Nasty bug and/or error message for template constaints using this

2013-01-20 Thread d-bugmail
http://d.puremagic.com/issues/show_bug.cgi?id=9361


Kenji Hara  changed:

   What|Removed |Added

   Keywords||ice, pull
   Platform|x86 |All
 OS/Version|Windows |All


--- Comment #2 from Kenji Hara  2013-01-20 19:56:02 PST ---
https://github.com/D-Programming-Language/dmd/pull/1525

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


[Issue 9361] Nasty bug and/or error message for template constaints using this

2013-01-20 Thread d-bugmail
http://d.puremagic.com/issues/show_bug.cgi?id=9361



--- Comment #1 from Kenji Hara  2013-01-20 18:33:09 PST ---
Reduced test case:

struct Unit(A)
{
void butPleaseDontUseMe()()
if (is(unitType!((this  // !
{}

}
template isUnit(alias T) if ( is(T)) {}
template isUnit(alias T) if (!is(T)) {}
template unitType(alias T) if (isUnit!T) {}
void main()
{
Unit!int u;
u.butPleaseDontUseMe(); // crashes
}



I think the instantiation unitType!((this)) in the template constraint for
butPleaseDontUseMe template function should always fail, because the 'this'
symbol yet not has an actual entity while the constraint evaluation.

That means, the invocation of s.foo() should fail in following.

template Sym(alias A) { enum Sym = true; }
struct S {
void foo()() if (Sym!(this)) {}
// Sym!(this) always make an error, because
// Sym template never be able to access
// valid 'this' symbol.
}
void main() { S s; s.foo(); }

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


[Issue 9358] Compiler creates duplicate switch cases after an error

2013-01-20 Thread d-bugmail
http://d.puremagic.com/issues/show_bug.cgi?id=9358


yebblies  changed:

   What|Removed |Added

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


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


[Issue 9358] Compiler creates duplicate switch cases after an error

2013-01-20 Thread d-bugmail
http://d.puremagic.com/issues/show_bug.cgi?id=9358



--- Comment #2 from github-bugzi...@puremagic.com 2013-01-20 16:49:10 PST ---
Commits pushed to master at https://github.com/D-Programming-Language/dmd

https://github.com/D-Programming-Language/dmd/commit/f8b994352501e50dca6b9a064be3462d6ac343cd
Fixes Issue 9358 - Compiler creates duplicate switch cases on error.

https://github.com/D-Programming-Language/dmd/commit/3e3d8f8fdc478c80190be8a25d1e7a6ea1d9c79d
Merge pull request #1521 from AndrejMitrovic/Fix9358

Issue 9358 - Compiler creates duplicate switch cases on error

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


[Issue 2452] Unimplemented method errors should show function overload

2013-01-20 Thread d-bugmail
http://d.puremagic.com/issues/show_bug.cgi?id=2452



--- Comment #3 from github-bugzi...@puremagic.com 2013-01-20 16:12:04 PST ---
Commits pushed to master at https://github.com/D-Programming-Language/dmd

https://github.com/D-Programming-Language/dmd/commit/89543ab82e6488f04c08d4fb4c769c861fd72c2f
Fixes Issue 2452 - Better diagnostic on unimplemented interface.

https://github.com/D-Programming-Language/dmd/commit/a2d0e643285543850f6ae7087e183f7bd4184ce8
Merge pull request #1523 from AndrejMitrovic/Fix2452

Issue 2452 - Better diagnostic on unimplemented interface

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


[Issue 9363] New: Array slice initialization with implicitly castable type

2013-01-20 Thread d-bugmail
http://d.puremagic.com/issues/show_bug.cgi?id=9363

   Summary: Array slice initialization with implicitly castable
type
   Product: D
   Version: D2
  Platform: x86
OS/Version: Windows
Status: NEW
  Severity: normal
  Priority: P2
 Component: DMD
AssignedTo: nob...@puremagic.com
ReportedBy: bearophile_h...@eml.cc


--- Comment #0 from bearophile_h...@eml.cc 2013-01-20 15:36:26 PST ---
This code works:

import std.typecons: Typedef;
alias Typedef!(int[]) MyArray;
void main() {
MyArray arr;
arr.length = 10;
arr[] = 0;
}


While this:


import std.typecons: Typedef;
alias Typedef!(ubyte[]) MyArray;
void main() {
MyArray arr;
arr.length = 10;
arr[] = 0;
}



Gives (dmd 2.062alpha):

...\dmd2\src\phobos\std\typecons.d(2811): Error: cannot implicitly convert
expression (v) of type int to ubyte[]
temp.d(6): Error: template instance std.typecons.Typedef!(ubyte[],
null).Typedef.Proxy!(Typedef_payload).opSliceAssign!(Typedef!(ubyte[], null),
int) error instantiating

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


[Issue 9357] Floating-point literal should always be printed with a period in diagnostic errors

2013-01-20 Thread d-bugmail
http://d.puremagic.com/issues/show_bug.cgi?id=9357



--- Comment #4 from bearophile_h...@eml.cc 2013-01-20 15:18:40 PST ---
(In reply to comment #3)

> Nice catch. Please file this as another report since it's a library issue, 
> I'll
> rename the current issue so it's obvious it's a compiler issue.

I can't find the number, but I think this ER is already in bugzilla :-)

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


[Issue 7738] Can't iterate a std.typecons.Typedef!(int[]) with foreach

2013-01-20 Thread d-bugmail
http://d.puremagic.com/issues/show_bug.cgi?id=7738



--- Comment #2 from bearophile_h...@eml.cc 2013-01-20 15:12:14 PST ---
(In reply to comment #1)
> Works in 2.061

A step forward for D language.

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


[Issue 9362] New: Add a method to remove one item to std.container.SList

2013-01-20 Thread d-bugmail
http://d.puremagic.com/issues/show_bug.cgi?id=9362

   Summary: Add a method to remove one item to std.container.SList
   Product: D
   Version: D2
  Platform: All
OS/Version: All
Status: NEW
  Severity: enhancement
  Priority: P2
 Component: Phobos
AssignedTo: nob...@puremagic.com
ReportedBy: bearophile_h...@eml.cc


--- Comment #0 from bearophile_h...@eml.cc 2013-01-20 15:02:18 PST ---
I suggest to to std.container.SList a handy function to remove a single item
from the list.

Most times I don't want to remove more than one item (so far in my D code I
don't remember ever having to remove more than one item at once from a SList).

In D.learn newsgroup I have seen many persons troubled by SList.linearRemove.

If SList gets such helper method to remove one item, then probably
std.container.DList should have a similar method.

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


[Issue 9206] std.exception.isValidEnumValue

2013-01-20 Thread d-bugmail
http://d.puremagic.com/issues/show_bug.cgi?id=9206



--- Comment #2 from bearophile_h...@eml.cc 2013-01-20 14:45:03 PST ---
(In reply to comment #1)
> Is this a duplicate or just related to Issue 8594?

This enhancement request is for a function to be used mostly at run-time, like
inside pre-conditions, to validate single enum arguments.

Issue 8597 is meant to be used mostly at compile-time to validate array
literals of enums (like strings literals of enum chars). So they are related
but they are not the same thing, they aren't a duplicate of each other. (Maybe
it's possible to implement part of one using the other, but not fully). So I
think they should be kept separated.

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


[Issue 9359] Can't concat ints: incompatible types for 'int' and 'int'

2013-01-20 Thread d-bugmail
http://d.puremagic.com/issues/show_bug.cgi?id=9359


Walter Bright  changed:

   What|Removed |Added

 Status|NEW |RESOLVED
 CC||bugzi...@digitalmars.com
Version|unspecified |D2
 Resolution||INVALID


--- Comment #3 from Walter Bright  2013-01-20 
14:39:42 PST ---
ints are not arrays, and can't be concatenated.

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


[Issue 9359] Can't concat ints: incompatible types for 'int' and 'int'

2013-01-20 Thread d-bugmail
http://d.puremagic.com/issues/show_bug.cgi?id=9359


bearophile_h...@eml.cc changed:

   What|Removed |Added

 CC||bearophile_h...@eml.cc


--- Comment #2 from bearophile_h...@eml.cc 2013-01-20 14:35:15 PST ---
Normally you do it like this:


void main() {
int a = 0;
int[] b = [a, a];
}


Or even:

void main() {
int a = 0;
int[] b = (int[]).init ~ a ~ a;
}

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


[Issue 9359] Can't concat ints: incompatible types for 'int' and 'int'

2013-01-20 Thread d-bugmail
http://d.puremagic.com/issues/show_bug.cgi?id=9359


Nils  changed:

   What|Removed |Added

 CC||nilsboss...@googlemail.com


--- Comment #1 from Nils  2013-01-20 14:20:49 PST 
---
(In reply to comment #0)
> void main()
> {
> int a = 0;
> int[] b = a ~ a;
> }
> 
> test.d(4): Error: incompatible types for ((a) ~ (a)): 'int' and 'int'

I can't see the bug. That's not supposed/specified to work, is it?

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


[Issue 9361] New: Nasty bug and/or error message for template constaints using this

2013-01-20 Thread d-bugmail
http://d.puremagic.com/issues/show_bug.cgi?id=9361

   Summary: Nasty bug and/or error message for template constaints
using this
   Product: D
   Version: D2
  Platform: x86
OS/Version: Windows
Status: NEW
  Severity: major
  Priority: P2
 Component: DMD
AssignedTo: nob...@puremagic.com
ReportedBy: maidenp...@hotmail.com


--- Comment #0 from Phil Lavoie  2013-01-20 14:19:02 
PST ---
I tried to make the code as brief as possible:
module rettypeinfer;

import std.stdio;

struct Unit( A ) {

  void useMe() {
writeln( isUnit!this );
writeln( is( unitType!this == int ) );
writeln( ( unitType!this ).stringof );
  }

  void useMoreOfMe( T )( T t ) if( is( atomType!T == unitType!( typeof( this )
) ) ) {
writeln( "We're ok, but borderline" );
  }

  void butPleaseDontUseMe( T )( T t ) if( is( atomType!T == unitType!( ( this )
) ) ) {
writeln( "Look at the error message" );
  }

}

template isUnit( alias T ) if( is( T ) ) {
  static if( is( T _: Unit!Args, Args... ) ) {
enum isUnit = true;
  } else {
enum isUnit = false;
  }
}
template isUnit( alias T ) if( !is( T ) ) {
  enum isUnit = isUnit!( typeof( T ) );
}
template unitType( alias T ) if( isUnit!T ) {
  static if( is( T _: Unit!Args, Args... ) ) {
alias unitType = Args[ 0 ];
  } else {
alias unitType = unitType!( typeof( T ) );
  }
}

struct Atom( A ) {

}

template isAtom( alias A ) if( is( A ) ) {
  static if( is( A _: Atom!Args, Args... ) ) {
enum isAtom = true;
  } else {
enum isAtom = false;
  }
}
template isAtom( alias A ) if( !is( A ) ) {
  enum isAtom = isAtom!( typeof( A ) );
}
template atomType( alias T ) if( isAtom!T ) {
  static if( is( T _: Atom!Args, Args... ) ) {
alias atomType = Args[ 0 ];
  } else {
alias atomType = atomType!( typeof( T ) );
  }
}

void main( string[] args ) {
  Unit!int u;

  assert( isUnit!u );
  assert( isUnit!( typeof( u ) ) );
  assert( is( unitType!u == int ) );
  assert( is( unitType!( typeof( u ) ) == int ) );

  u.useMe();

  Atom!int a;

  assert( isAtom!a );
  assert( isAtom!( typeof( a ) ) );
  assert( is( atomType!a == int ) );
  assert( is( atomType!( typeof( a ) ) == int ) );

  u.useMoreOfMe( a );

  //Crashes, with nasty error message.
  u.butPleaseDontUseMe( a );
}

Run this and it outputs:
Assertion failure: 'fd && fd->inferRetType' on line 81 in file 'mangle.c'

abnormal program termination

The last function crashes the program. If you replace unitType!this with
unitType( typeof( this ) ) the function works properly, as in the previous
member declaration.

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


[Issue 7738] Can't iterate a std.typecons.Typedef!(int[]) with foreach

2013-01-20 Thread d-bugmail
http://d.puremagic.com/issues/show_bug.cgi?id=7738


Andrej Mitrovic  changed:

   What|Removed |Added

 Status|NEW |RESOLVED
 CC||andrej.mitrov...@gmail.com
 Resolution||WORKSFORME


--- Comment #1 from Andrej Mitrovic  2013-01-20 
14:08:09 PST ---
Works in 2.061

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


[Issue 9360] New: Bad error message with non-const template method

2013-01-20 Thread d-bugmail
http://d.puremagic.com/issues/show_bug.cgi?id=9360

   Summary: Bad error message with non-const template method
   Product: D
   Version: D2
  Platform: x86_64
OS/Version: Windows
Status: NEW
  Severity: normal
  Priority: P2
 Component: DMD
AssignedTo: nob...@puremagic.com
ReportedBy: rswhi...@googlemail.com


--- Comment #0 from rswhi...@googlemail.com 2013-01-20 14:00:35 PST ---
struct A {
public:
void test()() {
}
}

void main() {
const A[4] as;
foreach (index; 0 .. 4) {
as[index].test();
}
}

This prints:
/home/c895/c892.d(15): Error: template c892.A.test does not match any function
template declaration. Candidates are:
/home/c895/c892.d(5): c892.A.test()()
/home/c895/c892.d(15): Error: template c892.A.test()() cannot deduce template
function from argument types !()()

It's not easy to understand that you try to call a non-const template method.

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


[Issue 9206] std.exception.isValidEnumValue

2013-01-20 Thread d-bugmail
http://d.puremagic.com/issues/show_bug.cgi?id=9206


Andrej Mitrovic  changed:

   What|Removed |Added

 CC||andrej.mitrov...@gmail.com


--- Comment #1 from Andrej Mitrovic  2013-01-20 
13:55:08 PST ---
Is this a duplicate or just related to Issue 8594?

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


[Issue 3818] Generic error message for wrong foreach

2013-01-20 Thread d-bugmail
http://d.puremagic.com/issues/show_bug.cgi?id=3818


Andrej Mitrovic  changed:

   What|Removed |Added

 CC||tomeks...@gmail.com


--- Comment #2 from Andrej Mitrovic  2013-01-20 
13:27:13 PST ---
*** Issue 4537 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 4537] Confusing error message when foreach lacks semicolon (; )

2013-01-20 Thread d-bugmail
http://d.puremagic.com/issues/show_bug.cgi?id=4537


Andrej Mitrovic  changed:

   What|Removed |Added

 Status|NEW |RESOLVED
 CC||andrej.mitrov...@gmail.com
 Resolution||DUPLICATE


--- Comment #2 from Andrej Mitrovic  2013-01-20 
13:27:13 PST ---
*** This issue has been marked as a duplicate of issue 3818 ***

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


[Issue 9359] New: Can't concat ints: incompatible types for 'int' and 'int'

2013-01-20 Thread d-bugmail
http://d.puremagic.com/issues/show_bug.cgi?id=9359

   Summary: Can't concat ints: incompatible types for 'int' and
'int'
   Product: D
   Version: unspecified
  Platform: All
OS/Version: All
Status: NEW
  Keywords: rejects-valid
  Severity: critical
  Priority: P2
 Component: DMD
AssignedTo: nob...@puremagic.com
ReportedBy: cbkbbej...@mailinator.com


--- Comment #0 from Nick Sabalausky  2013-01-20 
13:20:12 PST ---
void main()
{
int a = 0;
int[] b = a ~ a;
}

test.d(4): Error: incompatible types for ((a) ~ (a)): 'int' and 'int'

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


[Issue 7200] Array append causes Access Violation with symbolic debug info

2013-01-20 Thread d-bugmail
http://d.puremagic.com/issues/show_bug.cgi?id=7200


Andrej Mitrovic  changed:

   What|Removed |Added

 Status|NEW |RESOLVED
 CC||andrej.mitrov...@gmail.com
 Resolution||WORKSFORME


--- Comment #3 from Andrej Mitrovic  2013-01-20 
13:13:15 PST ---
Can't reproduce in 2.057, 2.058, or 2.061. Could have been a temporary git-head
problem.

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


[Issue 4417] const-violation in struct error message

2013-01-20 Thread d-bugmail
http://d.puremagic.com/issues/show_bug.cgi?id=4417


Andrej Mitrovic  changed:

   What|Removed |Added

 CC||andrej.mitrov...@gmail.com
  Component|DMD |Phobos
   Platform|x86 |All
 OS/Version|Windows |All
   Severity|enhancement |normal


--- Comment #1 from Andrej Mitrovic  2013-01-20 
13:08:30 PST ---
I think this is an issue with Phobos, not the compiler.

The error is now slightly better (first two shown):

Error: mutable method std.random.LinearCongruentialEngine!(uint, 48271, 0,
2147483647).LinearCongruentialEngine.front is not callable using a const object
Error: mutable method std.random.LinearCongruentialEngine!(uint, 48271, 0,
2147483647).LinearCongruentialEngine.popFront is not callable using a const
object

uniform() should probably reject a const random number generator. And this is
probably true for all range-taking functions. If you can't call popFront then
you can't do much with the range AFAICT. Not even .save helps in this case.

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


[Issue 2946] Make 'abstract' mandatory if the class is intended to be abstract

2013-01-20 Thread d-bugmail
http://d.puremagic.com/issues/show_bug.cgi?id=2946


Andrej Mitrovic  changed:

   What|Removed |Added

 Status|NEW |RESOLVED
 CC||andrej.mitrov...@gmail.com
   Platform|x86 |All
 Resolution||WONTFIX


--- Comment #8 from Andrej Mitrovic  2013-01-20 
12:26:13 PST ---
I don't think this will fly. Abstract on the class name itself makes it
non-instantiable, however subclasses are not abstract and can be instantiated:

// can't be instantiated
abstract class Foo { void foo() { } }  

// is not abstract and can be instantiated
class Bar : Foo { }

Whether or not there's an abstract keyword next to the class name doesn't tell
you whether the class actually has abstract methods, so there's no benefit
forcing you to add 'abstract' to the name.

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


[Issue 2329] Misleading error message in overload resolution

2013-01-20 Thread d-bugmail
http://d.puremagic.com/issues/show_bug.cgi?id=2329


Andrej Mitrovic  changed:

   What|Removed |Added

 CC||andrej.mitrov...@gmail.com
   Platform|x86 |All
 OS/Version|Linux   |All


--- Comment #2 from Andrej Mitrovic  2013-01-20 
12:17:39 PST ---
This sample is outdated, and the one in dup Issue 5721 doesn't have the
problem. Either it's a fixed issue or we need a new test-case.

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


[Issue 2452] Unimplemented method errors should show function overload

2013-01-20 Thread d-bugmail
http://d.puremagic.com/issues/show_bug.cgi?id=2452


Andrej Mitrovic  changed:

   What|Removed |Added

   Keywords||pull
 CC||andrej.mitrov...@gmail.com
   Platform|x86 |All
Version|1.033   |D1 & D2
 AssignedTo|nob...@puremagic.com|andrej.mitrov...@gmail.com
 OS/Version|Windows |All
   Severity|minor   |normal


--- Comment #2 from Andrej Mitrovic  2013-01-20 
12:12:14 PST ---
https://github.com/D-Programming-Language/dmd/pull/1523

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


[Issue 1730] Bogus error message calling a non-const struct method on a const struct reference

2013-01-20 Thread d-bugmail
http://d.puremagic.com/issues/show_bug.cgi?id=1730


Andrej Mitrovic  changed:

   What|Removed |Added

 Status|NEW |RESOLVED
 Resolution||FIXED


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


[Issue 953] Multiple C style declarations of same type cannot be in one statement

2013-01-20 Thread d-bugmail
http://d.puremagic.com/issues/show_bug.cgi?id=953



--- Comment #5 from Andrej Mitrovic  2013-01-20 
11:45:33 PST ---
This would be more simple to implement if we simply destroyed C-style array
syntax. I don't know why we're waiting so long to get rid of them.

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


[Issue 953] Multiple C style declarations of same type cannot be in one statement

2013-01-20 Thread d-bugmail
http://d.puremagic.com/issues/show_bug.cgi?id=953



--- Comment #6 from Andrej Mitrovic  2013-01-20 
11:46:05 PST ---
(In reply to comment #5)
> This would be more simple to implement if we simply destroyed C-style array
> syntax.

Read that as: C-style declarations, because it also affects pointers.

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


[Issue 953] Multiple C style declarations of same type cannot be in one statement

2013-01-20 Thread d-bugmail
http://d.puremagic.com/issues/show_bug.cgi?id=953


Andrej Mitrovic  changed:

   What|Removed |Added

   Priority|P4  |P2
 CC||andrej.mitrov...@gmail.com
   Platform|x86 |All
Version|1.005   |D1 & D2
 AssignedTo|bugzi...@digitalmars.com|nob...@puremagic.com
 OS/Version|Windows |All
   Severity|trivial |normal


--- Comment #4 from Andrej Mitrovic  2013-01-20 
11:37:50 PST ---
This affects both D1 and D2.

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


[Issue 6365] Multiple var declaration

2013-01-20 Thread d-bugmail
http://d.puremagic.com/issues/show_bug.cgi?id=6365


Andrej Mitrovic  changed:

   What|Removed |Added

 CC||wbax...@gmail.com


--- Comment #42 from Andrej Mitrovic  2013-01-20 
11:31:49 PST ---
*** Issue 538 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 803] incorrect error message and location for repeated aliases

2013-01-20 Thread d-bugmail
http://d.puremagic.com/issues/show_bug.cgi?id=803


Andrej Mitrovic  changed:

   What|Removed |Added

 Status|ASSIGNED|RESOLVED
 CC||andrej.mitrov...@gmail.com
 Resolution||WORKSFORME


--- Comment #2 from Andrej Mitrovic  2013-01-20 
11:35:00 PST ---
Prints ok in 1.076 and 2.x.

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


[Issue 538] Can't return an expression tuple from a function

2013-01-20 Thread d-bugmail
http://d.puremagic.com/issues/show_bug.cgi?id=538


Andrej Mitrovic  changed:

   What|Removed |Added

 Status|REOPENED|RESOLVED
 CC||andrej.mitrov...@gmail.com
Version|D1  |D2
 Resolution||DUPLICATE


--- Comment #9 from Andrej Mitrovic  2013-01-20 
11:31:49 PST ---
Removed D1 as it will not receive any new enhancements.

The error message is now good for both D1 and D2.

As for D2, http://d.puremagic.com/issues/show_bug.cgi?id=6365 should implement
tuple returns.

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

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


[Issue 648] DDoc: unable to document mixin statement

2013-01-20 Thread d-bugmail
http://d.puremagic.com/issues/show_bug.cgi?id=648



--- Comment #15 from Andrej Mitrovic  2013-01-20 
10:56:05 PST ---
https://github.com/D-Programming-Language/dmd/pull/1485

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


[Issue 9357] Floating-point literal should always be printed with a period

2013-01-20 Thread d-bugmail
http://d.puremagic.com/issues/show_bug.cgi?id=9357



--- Comment #3 from Andrej Mitrovic  2013-01-20 
10:27:24 PST ---
(In reply to comment #2)
> Is this enhancement request only about error messages?
> 
> 
> This prints "1":
> 
> import std.stdio: writeln;
> void main() {
> double x = 1.0;
> writeln(x);
> }
> 
> 
> While in Python it always prints the leading ".0":
> 
> >>> x = 1.0
> >>> x
> 1.0
> 
> I'd like writeln() to do the same. It helps tell part FP from integral values
> in printouts, etc.

Nice catch. Please file this as another report since it's a library issue, I'll
rename the current issue so it's obvious it's a compiler issue.

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


[Issue 9357] Floating-point literal should always be printed with a period

2013-01-20 Thread d-bugmail
http://d.puremagic.com/issues/show_bug.cgi?id=9357


bearophile_h...@eml.cc changed:

   What|Removed |Added

 CC||bearophile_h...@eml.cc


--- Comment #2 from bearophile_h...@eml.cc 2013-01-20 10:19:17 PST ---
Is this enhancement request only about error messages?


This prints "1":

import std.stdio: writeln;
void main() {
double x = 1.0;
writeln(x);
}


While in Python it always prints the leading ".0":

>>> x = 1.0
>>> x
1.0

I'd like writeln() to do the same. It helps tell part FP from integral values
in printouts, etc.

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


[Issue 9358] Compiler creates duplicate switch cases after an error

2013-01-20 Thread d-bugmail
http://d.puremagic.com/issues/show_bug.cgi?id=9358



--- Comment #1 from Andrej Mitrovic  2013-01-20 
10:16:34 PST ---
https://github.com/D-Programming-Language/dmd/pull/1521

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


[Issue 9357] Floating-point literal should always be printed with a period

2013-01-20 Thread d-bugmail
http://d.puremagic.com/issues/show_bug.cgi?id=9357



--- Comment #1 from Andrej Mitrovic  2013-01-20 
10:15:32 PST ---
https://github.com/D-Programming-Language/dmd/pull/1520

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


[Issue 9358] New: Compiler creates duplicate switch cases after an error

2013-01-20 Thread d-bugmail
http://d.puremagic.com/issues/show_bug.cgi?id=9358

   Summary: Compiler creates duplicate switch cases after an error
   Product: D
   Version: D2
  Platform: All
OS/Version: All
Status: NEW
  Keywords: diagnostic, pull
  Severity: normal
  Priority: P2
 Component: DMD
AssignedTo: andrej.mitrov...@gmail.com
ReportedBy: andrej.mitrov...@gmail.com


--- Comment #0 from Andrej Mitrovic  2013-01-20 
10:11:22 PST ---
void main()
{
double x;
switch (x)
{
case 1: break;
case 2: break;
default:
}
}

test.d(6): Error: 'x' must be of integral or string type, it is a double
test.d(8): Error: case must be a string or an integral constant, not 1
test.d(9): Error: case must be a string or an integral constant, not 2
test.d(9): Error: duplicate case 0 in switch statement

The last error message shouldn't appear.

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


[Issue 4178] destructor missing in JSON output

2013-01-20 Thread d-bugmail
http://d.puremagic.com/issues/show_bug.cgi?id=4178


Walter Bright  changed:

   What|Removed |Added

 Status|NEW |RESOLVED
 Resolution||FIXED


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


[Issue 9357] New: Floating-point literal should always be printed with a period

2013-01-20 Thread d-bugmail
http://d.puremagic.com/issues/show_bug.cgi?id=9357

   Summary: Floating-point literal should always be printed with a
period
   Product: D
   Version: D2
  Platform: All
OS/Version: All
Status: NEW
  Keywords: pull
  Severity: normal
  Priority: P2
 Component: DMD
AssignedTo: andrej.mitrov...@gmail.com
ReportedBy: andrej.mitrov...@gmail.com


--- Comment #0 from Andrej Mitrovic  2013-01-20 
10:00:30 PST ---
void main()
{
int x = 1.0;
}

Error: cannot implicitly convert expression (1) of type double to int

It should be "expression (1.0)". Opened as a separate cause of:
http://d.puremagic.com/issues/show_bug.cgi?id=8807

There are likely similar issues caused by this.

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


[Issue 8807] Better error messages for a switch on doubles

2013-01-20 Thread d-bugmail
http://d.puremagic.com/issues/show_bug.cgi?id=8807


Andrej Mitrovic  changed:

   What|Removed |Added

 Status|NEW |RESOLVED
 Resolution||WORKSFORME


--- Comment #3 from Andrej Mitrovic  2013-01-20 
10:00:49 PST ---
(In reply to comment #2)
> https://github.com/D-Programming-Language/dmd/pull/1514

#1 is resolved, but I'm opening a separate issue for the case of printing '1.0'
as '1' because it's a more general problem unrelated to the switch statement.
http://d.puremagic.com/issues/show_bug.cgi?id=9357

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


[Issue 6668] Wrong "to" conversion stack trace

2013-01-20 Thread d-bugmail
http://d.puremagic.com/issues/show_bug.cgi?id=6668


Andrej Mitrovic  changed:

   What|Removed |Added

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


--- Comment #2 from Andrej Mitrovic  2013-01-20 
08:31:29 PST ---
https://github.com/D-Programming-Language/phobos/pull/1081

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


[Issue 8998] 'inout pure' returns immutable, which in reality is mutable

2013-01-20 Thread d-bugmail
http://d.puremagic.com/issues/show_bug.cgi?id=8998


Kenji Hara  changed:

   What|Removed |Added

   Keywords||accepts-invalid, pull


--- Comment #2 from Kenji Hara  2013-01-20 08:34:18 PST ---
https://github.com/D-Programming-Language/dmd/pull/1519

(In reply to comment #1)
> This looks similar to issue 9230.  It it possible this case slipped through 
> the
> cracks?

No. Essentially, this is a regression which has been caused by fixing issue
7769. See the description in my pull request.

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


[Issue 5065] writefln("%f" of a Tuple prints a result

2013-01-20 Thread d-bugmail
http://d.puremagic.com/issues/show_bug.cgi?id=5065



--- Comment #3 from github-bugzi...@puremagic.com 2013-01-20 04:50:34 PST ---
Commits pushed to master at https://github.com/D-Programming-Language/phobos

https://github.com/D-Programming-Language/phobos/commit/d6d12ffdc8044937fb206b9c2b2e8965792e2fef
Fixes Issue 5065 - Format specifier must be %s for types which don't implement
toString with a format specifier.

https://github.com/D-Programming-Language/phobos/commit/e9cb971002888fba4e9ca051f9e8ff999dd6923d
Merge pull request #1079 from AndrejMitrovic/Fix5065

Issue 5065 - Format specifier must be '%s' for some types

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


[Issue 4178] destructor missing in JSON output

2013-01-20 Thread d-bugmail
http://d.puremagic.com/issues/show_bug.cgi?id=4178



--- Comment #3 from github-bugzi...@puremagic.com 2013-01-20 04:47:49 PST ---
Commits pushed to master at https://github.com/D-Programming-Language/dmd

https://github.com/D-Programming-Language/dmd/commit/9c2f0bb5475850df14a23a58134e570d21b75395
fix Issue 4178 - destructor missing in JSON output

https://github.com/D-Programming-Language/dmd/commit/dc43e3bb5fc8d830bfdbf0531b10bb7b19d78001
Merge pull request #1518 from WalterBright/b20

fix Issue 4178 - destructor missing in JSON output

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


[Issue 9356] New: -inline with inout and append generates wrong code

2013-01-20 Thread d-bugmail
http://d.puremagic.com/issues/show_bug.cgi?id=9356

   Summary: -inline with inout and append generates wrong code
   Product: D
   Version: D2
  Platform: All
OS/Version: All
Status: NEW
  Severity: normal
  Priority: P2
 Component: DMD
AssignedTo: nob...@puremagic.com
ReportedBy: d...@me.com


--- Comment #0 from Jacob Carlborg  2013-01-20 04:07:46 PST ---
The assert in "foo" passes, which it obviously shouldn't.

inout(char)[] bar (inout(char)[] a)
{
return a;
}

void foo (string str)
{
string result;
result ~= bar(str);
assert(result == "!");
}

void main ()
{
foo("a");
}

If I remove "inout" in "bar" or the append in "foo" the code work as expected.
What "result" will actually be depends on the length of the string passed to
"foo".

I've only tried this with on Mac OS X, both 32 and 64bit.

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


[Issue 4178] destructor missing in JSON output

2013-01-20 Thread d-bugmail
http://d.puremagic.com/issues/show_bug.cgi?id=4178



--- Comment #2 from Walter Bright  2013-01-20 
02:46:33 PST ---
https://github.com/D-Programming-Language/dmd/pull/1518

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


[Issue 3466] Wrong JSON output for templated classes, structs, and interfaces

2013-01-20 Thread d-bugmail
http://d.puremagic.com/issues/show_bug.cgi?id=3466


Walter Bright  changed:

   What|Removed |Added

 Status|NEW |RESOLVED
 Resolution||FIXED


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