[Issue 3682] Regression(2.038) is expression fails to match types

2012-03-08 Thread d-bugmail
http://d.puremagic.com/issues/show_bug.cgi?id=3682


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

   What|Removed |Added

 Status|RESOLVED|REOPENED
 Resolution|WORKSFORME  |


--- Comment #7 from Don clugd...@yahoo.com.au 2012-03-08 02:01:32 PST ---
The test case in comment 3 still fails for me with 2.059 head.

Note that the compilation order is important:
dmd a3682.d b3682.d fails, but dmd b3682.d a3682.d works.

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


[Issue 3382] [tdpl] Implement uniform function call syntax

2012-03-08 Thread d-bugmail
http://d.puremagic.com/issues/show_bug.cgi?id=3382


Walter Bright bugzi...@digitalmars.com 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 7669] New: Broken inout deduction with static array type

2012-03-08 Thread d-bugmail
http://d.puremagic.com/issues/show_bug.cgi?id=7669

   Summary: Broken inout deduction with static array type
   Product: D
   Version: D2
  Platform: All
OS/Version: All
Status: NEW
  Severity: normal
  Priority: P2
 Component: DMD
AssignedTo: nob...@puremagic.com
ReportedBy: k.hara...@gmail.com


--- Comment #0 from Kenji Hara k.hara...@gmail.com 2012-03-08 04:53:49 PST ---
test case:

shared(inout U)[n] id(U, size_t n)( shared(inout U)[n] );
void main()
{
static assert(is(typeof( id((shared(int)[3]).init)) == shared(int)[3]));
}

output:

test.d(4): Error: static assert  (is(shared(inout(int)[3u]) ==
shared(int[3u]))) is false

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


[Issue 7670] New: UFCS problem with @property and structs

2012-03-08 Thread d-bugmail
http://d.puremagic.com/issues/show_bug.cgi?id=7670

   Summary: UFCS problem with @property and structs
   Product: D
   Version: D2
  Platform: All
OS/Version: All
Status: NEW
  Keywords: rejects-valid
  Severity: normal
  Priority: P2
 Component: DMD
AssignedTo: nob...@puremagic.com
ReportedBy: bearophile_h...@eml.cc


--- Comment #0 from bearophile_h...@eml.cc 2012-03-08 05:00:11 PST ---
Modified from an example by Comrad in D.learn.


struct A {
double x;
}
@property ref double y(ref A a) {
return a.x;
}
void main() {
A a1;
a1.y() = 2.0; // OK
a1.y = 2.0; // Error
}


DMD 2.059head gives:

test.d(10): Error: no property 'y' for type 'A', did you mean 'x'?

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


[Issue 7671] New: Broken inout deduction of shared(inout(T[n])) from immutable(int[3])

2012-03-08 Thread d-bugmail
http://d.puremagic.com/issues/show_bug.cgi?id=7671

   Summary: Broken inout deduction of shared(inout(T[n])) from
immutable(int[3])
   Product: D
   Version: D2
  Platform: All
OS/Version: All
Status: NEW
  Severity: normal
  Priority: P2
 Component: DMD
AssignedTo: nob...@puremagic.com
ReportedBy: k.hara...@gmail.com


--- Comment #0 from Kenji Hara k.hara...@gmail.com 2012-03-08 05:44:46 PST ---
inout(int)[3]  idn1 ( inout(int)[3] );
   inout( U )[n]  idx1(U, size_t n)( inout( U )[n] );

shared(inout int)[3]  idn2 ( shared(inout int)[3] );
shared(inout  U )[n]  idx2(U, size_t n)( shared(inout  U )[n] );

void main()
{
pragma(msg, typeof( idn1( (immutable(int)[3]).init ) ));//
immutable(int[3]), OK
pragma(msg, typeof( idx1( (immutable(int)[3]).init ) ));//
immutable(int[3]), OK

pragma(msg, typeof( idn2( (immutable(int)[3]).init ) ));//
immutable(int[3]), OK
pragma(msg, typeof( idx2( (immutable(int)[3]).init ) ));// Error!
// test.d(13): Error: template test.idx2(U,uint n) does not match any
function template declaration
}

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


[Issue 7672] New: Remove top const doesn't work for inout array type.

2012-03-08 Thread d-bugmail
http://d.puremagic.com/issues/show_bug.cgi?id=7672

   Summary: Remove top const doesn't work for inout array type.
   Product: D
   Version: D2
  Platform: All
OS/Version: All
Status: NEW
  Severity: normal
  Priority: P2
 Component: DMD
AssignedTo: nob...@puremagic.com
ReportedBy: k.hara...@gmail.com


--- Comment #0 from Kenji Hara k.hara...@gmail.com 2012-03-08 08:23:41 PST ---
T foo(T)(T a){ return a; }

void test(inout(int[]) a = null)
{
static assert(is( typeof(a ) == inout(int[]) ));  // OK
static assert(is( typeof(foo(a)) == inout(int)[] ));  // NG
// Error: static assert  (is(typeof(__error) == inout(int)[])) is false
}

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


[Issue 3960] Unused local variables not reported

2012-03-08 Thread d-bugmail
http://d.puremagic.com/issues/show_bug.cgi?id=3960



--- Comment #24 from bearophile_h...@eml.cc 2012-03-08 10:09:12 PST ---
I have found an interesting information.

In Go language an unused variable is an _error_:


package main
func main() {
  x := 10;
}


prog.go:3: x declared and not used

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


[Issue 7673] New: Static variables do not allow implicit call to ctor via assignment

2012-03-08 Thread d-bugmail
http://d.puremagic.com/issues/show_bug.cgi?id=7673

   Summary: Static variables do not allow implicit call to ctor
via assignment
   Product: D
   Version: D2
  Platform: All
OS/Version: All
Status: NEW
  Severity: normal
  Priority: P2
 Component: DMD
AssignedTo: nob...@puremagic.com
ReportedBy: andrej.mitrov...@gmail.com


--- Comment #0 from Andrej Mitrovic andrej.mitrov...@gmail.com 2012-03-08 
11:05:59 PST ---
struct Foo
{
this(bool) { }
}

void main()
{
Foo foo = false;  // ok
static Foo foo = false;  // NG
}

I don't know whether the first case is actually a feature. But if it is, the
second one should be allowed as well.

-- 
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-03-08 Thread d-bugmail
http://d.puremagic.com/issues/show_bug.cgi?id=783



--- Comment #7 from github-bugzi...@puremagic.com 2012-03-08 14:05:09 PST ---
Commit pushed to master at https://github.com/D-Programming-Language/dmd

https://github.com/D-Programming-Language/dmd/commit/97b4410ba1c55d77f54821249d048add3c2acd47
Merge pull request #679 from yebblies/issue783

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

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


[Issue 7674] New: regex replace requires escaped format

2012-03-08 Thread d-bugmail
http://d.puremagic.com/issues/show_bug.cgi?id=7674

   Summary: regex replace requires escaped format
   Product: D
   Version: D2
  Platform: All
OS/Version: All
Status: NEW
  Severity: normal
  Priority: P2
 Component: Phobos
AssignedTo: nob...@puremagic.com
ReportedBy: jesse.k.phillip...@gmail.com
CC: dmitry.o...@gmail.com


--- Comment #0 from Jesse Phillips jesse.k.phillip...@gmail.com 2012-03-08 
14:10:44 PST ---
When using std.regex.replace the format parameter is also requiring to be a
valid regex. The below example is expected to pass

import std.regex;

void main() {
auto str = hello?;

assert(str.replace(regex(r\?, g), r\?) == rhello\?);
}

This should fail:

import std.regex;

void main() {
auto str = hello?;

assert(str.replace(regex(r\?, g), r\\?) != rhello\?);
}

Maybe I'm wrong on this, but the current requirement seems off.

-- 
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-03-08 Thread d-bugmail
http://d.puremagic.com/issues/show_bug.cgi?id=783


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

   What|Removed |Added

 Status|ASSIGNED|RESOLVED
 Resolution||FIXED


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


[Issue 7675] New: std.format needs better exception messages

2012-03-08 Thread d-bugmail
http://d.puremagic.com/issues/show_bug.cgi?id=7675

   Summary: std.format needs better exception messages
   Product: D
   Version: D2
  Platform: All
OS/Version: All
Status: NEW
  Severity: enhancement
  Priority: P2
 Component: Phobos
AssignedTo: nob...@puremagic.com
ReportedBy: andrej.mitrov...@gmail.com


--- Comment #0 from Andrej Mitrovic andrej.mitrov...@gmail.com 2012-03-08 
17:53:14 PST ---
import std.string;

void main()
{
string res = format(%s %s, 1);
}

std.format.FormatException@std\format.d(62): format error

format() should verify that the count of parameters matches the format
specifier and give a nice error message like this:

std.format.FormatException@std\format.d(62): format error: Expected 2
parameters, got 1.

format() is one of the most used functions in Phobos so I think this is pretty
important.

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


[Issue 7628] Regression with std.string format and alias this

2012-03-08 Thread d-bugmail
http://d.puremagic.com/issues/show_bug.cgi?id=7628



--- Comment #7 from github-bugzi...@puremagic.com 2012-03-08 22:54:45 PST ---
Commit pushed to master at https://github.com/D-Programming-Language/phobos

https://github.com/D-Programming-Language/phobos/commit/1c1e5887b28f713ac627aa5d986f8294414e7692
added tests for bug 7628

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


[Issue 6892] Formatted write with specified length of enum member

2012-03-08 Thread d-bugmail
http://d.puremagic.com/issues/show_bug.cgi?id=6892



--- Comment #4 from github-bugzi...@puremagic.com 2012-03-08 22:54:49 PST ---
Commit pushed to master at https://github.com/D-Programming-Language/phobos

https://github.com/D-Programming-Language/phobos/commit/12571977d821a2e7e7a799012baea3e8f73dee0d
fix Issue 6892 - Formatted write with specified length of enum member

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


[Issue 2443] opApply should allow delegates that are not ref if it makes no sense

2012-03-08 Thread d-bugmail
http://d.puremagic.com/issues/show_bug.cgi?id=2443



--- Comment #5 from github-bugzi...@puremagic.com 2012-03-08 22:54:52 PST ---
Commit pushed to master at https://github.com/D-Programming-Language/phobos

https://github.com/D-Programming-Language/phobos/commit/7b62989568958eaf610b0e80004f1e6358dc2b6b
Get rid of Bug 2443 workaround in InputRangeObject.

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


[Issue 5525] Eponymous templates should allow for overloaded eponymous members

2012-03-08 Thread d-bugmail
http://d.puremagic.com/issues/show_bug.cgi?id=5525



--- Comment #6 from github-bugzi...@puremagic.com 2012-03-08 22:54:57 PST ---
Commit pushed to master at https://github.com/D-Programming-Language/phobos

https://github.com/D-Programming-Language/phobos/commit/a0dbea1d2c998c7c9da90bf9481c70999361221a
Remove workaround for issue 5525

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