[Issue 6813] Yet another cannot get frame pointer error

2011-10-22 Thread d-bugmail
http://d.puremagic.com/issues/show_bug.cgi?id=6813


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 6665] Regression(2.055) ICE(cg87.c): static double inside closure

2011-10-22 Thread d-bugmail
http://d.puremagic.com/issues/show_bug.cgi?id=6665


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

   What|Removed |Added

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


--- Comment #8 from Walter Bright bugzi...@digitalmars.com 2011-10-22 
00:28:07 PDT ---
https://github.com/D-Programming-Language/dmd/commit/517098887b5dee1e91c69610b8c4056c17e191ce

https://github.com/D-Programming-Language/dmd/commit/6277161a9c606c6cdba37500a230e7d71a31d629

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


[Issue 6733] Regression(2.054) ICE(cod2.c) pure nothrow func with side-effect parameters

2011-10-22 Thread d-bugmail
http://d.puremagic.com/issues/show_bug.cgi?id=6733


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

   What|Removed |Added

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


--- Comment #7 from Walter Bright bugzi...@digitalmars.com 2011-10-22 
02:53:28 PDT ---
https://github.com/D-Programming-Language/dmd/commit/6536012f7e23d5dc5928567224d47cc7d9997ceb

https://github.com/D-Programming-Language/dmd/commit/ab50833d7ca7fde0380525ed11e66908c440667a

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


[Issue 6838] New: Covariant return types don't work with static arrays

2011-10-22 Thread d-bugmail
http://d.puremagic.com/issues/show_bug.cgi?id=6838

   Summary: Covariant return types don't work with static arrays
   Product: D
   Version: D2
  Platform: x86
OS/Version: Windows
Status: NEW
  Severity: normal
  Priority: P2
 Component: DMD
AssignedTo: nob...@puremagic.com
ReportedBy: psztur...@tlen.pl


--- Comment #0 from Piotr Szturmaj psztur...@tlen.pl 2011-10-22 09:07:48 PDT 
---
This is an example from http://d-programming-language.org/function.html, but
with changed return types:

class Foo {
  int[] test() { return null; }
}

class Bar : Foo {
  int[2] test() { return [1, 2]; } // overrides and is covariant with
Foo.test()
}

// and here's additional test code:

void main() {
  Foo f = new Bar();
  auto arr = f.test();
  assert(arr.length == 2);
}

This code compiles but fails on assert. Returned arr.length is 1 and accessing
the first element of that array results in access violation.

Given that static arrays are implicitly convertible to dynamic arrays, it
should work. If not, it at least should not compile.

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


[Issue 6839] New: documentation for opAssign incorrect

2011-10-22 Thread d-bugmail
http://d.puremagic.com/issues/show_bug.cgi?id=6839

   Summary: documentation for opAssign incorrect
   Product: D
   Version: D2
  Platform: Other
OS/Version: Linux
Status: NEW
  Severity: normal
  Priority: P2
 Component: websites
AssignedTo: nob...@puremagic.com
ReportedBy: chisophu...@gmail.com


--- Comment #0 from Sean Silva chisophu...@gmail.com 2011-10-22 10:10:44 PDT 
---
The documentation about opAssign seems be incorrect:
http://d-programming-language.org/struct.html

It says:

 Struct assignment t=s is defined to be semantically equivalent to:
   t = S.opAssign(s);

which I think should be `t.opAssign(s)`.

also, just below, the signature is stated as `S* opAssign(S s)`. According to
this post on the newsgroup
http://www.digitalmars.com/pnews/read.php?server=news.digitalmars.comgroup=digitalmars.D.learnartnum=30203,
the correct signature should be `void opAssign(ref const S rhs)`.

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


[Issue 6753] Regression(2.055beta) Reinterpret cast of array to a tail const one doesn't work inside @trusted

2011-10-22 Thread d-bugmail
http://d.puremagic.com/issues/show_bug.cgi?id=6753


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

   What|Removed |Added

 CC||clugd...@yahoo.com.au
Summary|Reinterpret cast of array |Regression(2.055beta)
   |to a tail const one doesn't |Reinterpret cast of array
   |work inside @trusted|to a tail const one doesn't
   ||work inside @trusted


--- Comment #1 from Don clugd...@yahoo.com.au 2011-10-22 13:14:29 PDT ---
Regression was introduced by this commit:

https://github.com/D-Programming-Language/dmd/commit/a1566e372bf48c2b414ead04104569562202be1a

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


[Issue 6840] New: std.conv.maybeTo

2011-10-22 Thread d-bugmail
http://d.puremagic.com/issues/show_bug.cgi?id=6840

   Summary: std.conv.maybeTo
   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 2011-10-22 13:20:49 PDT ---
This simple idea comes from usage of some Haskell. I think in Phobos (probably
in std.conv) it's useful to have a function template that works like this
maybeTo:


import std.stdio, std.typecons, std.conv;

template maybeTo(Tout) {
Nullable!Tout maybeTo(Tin)(Tin x) nothrow /*pure*/ {
typeof(return) result;
try {
result = to!Tout(x);
} catch (ConvException e) {
} catch (Throwable e) {
assert(0, Not supposed to happen.);
}
return result;
}
}

void main() nothrow {
auto mx1 = maybeTo!int(12);
assert(!mx1.isNull  mx1 == 12);
//writeln(mx1); // Nullable!(int)(12, false)

auto mx2 = maybeTo!int(12a);
assert(mx2.isNull);
//writeln(mx2); // Nullable!(int)(0, true)
}



Notes:
1) This maybeTo code is not meant to be its final implementation, it's here
mostly to show its intended semantics.
2) maybeTo is not meant to replace to!(), it is meant to be just an
alternative.


Advantages of maybeTo:
1) It's usable in nothrow functions too. Maybe it will be usable in pure
functions too.
2) This simple implementation of maybeTo contains a try-catch, but there is no
need to actually throw and catch an exception in all wrong conversion cases.
Example: when Tin is string and Tout is int, maybeTo is free to use something
lighter, like a C function that produces no exceptions, instead of to!(). I
think this allows the compiler to perform some extra optimizations.


Alternative name: nullableTo. But I like the name Maybe, as in Haskell.

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


[Issue 6841] New: writeln problem with array of tuples

2011-10-22 Thread d-bugmail
http://d.puremagic.com/issues/show_bug.cgi?id=6841

   Summary: writeln problem with array of tuples
   Product: D
   Version: D2
  Platform: x86
OS/Version: Windows
Status: NEW
  Keywords: rejects-valid
  Severity: normal
  Priority: P2
 Component: Phobos
AssignedTo: nob...@puremagic.com
ReportedBy: bearophile_h...@eml.cc


--- Comment #0 from bearophile_h...@eml.cc 2011-10-22 18:07:35 PDT ---
A D2 program:

import std.stdio, std.typecons;
void main() {
Tuple!(const(char))[] a1;
Tuple!(immutable(char))[] a2;
writeln(a1, a2);
}


DMD 2.056head gives:

...\dmd2\src\phobos\std\format.d(1657): Error: static assert 
(isInputRange!(Tuple!(const(char))[])) is false
...\dmd2\src\phobos\std\format.d(2032):instantiated from here:
formatValue!(LockingTextWriter,Tuple!(const(char))[],char)
...\dmd2\src\phobos\std\format.d(313):instantiated from here:
formatGeneric!(LockingTextWriter,Tuple!(const(char))[],immutable(char))
...\dmd2\src\phobos\std\stdio.d(678):instantiated from here:
formattedWrite!(LockingTextWriter,immutable(char),Tuple!(const(char))[])
...\dmd2\src\phobos\std\stdio.d(1511):instantiated from here:
write!(Tuple!(const(char))[],Tuple!(immutable(char))[],char)
temp.d(5):instantiated from here:
writeln!(Tuple!(const(char))[],Tuple!(immutable(char))[])

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


[Issue 6842] New: Can't use alias of instance member

2011-10-22 Thread d-bugmail
http://d.puremagic.com/issues/show_bug.cgi?id=6842

   Summary: Can't use alias of instance member
   Product: D
   Version: D2
  Platform: Other
OS/Version: Windows
Status: NEW
  Keywords: rejects-valid
  Severity: normal
  Priority: P2
 Component: DMD
AssignedTo: nob...@puremagic.com
ReportedBy: cbkbbej...@mailinator.com


--- Comment #0 from Nick Sabalausky cbkbbej...@mailinator.com 2011-10-22 
18:14:44 PDT ---

struct Foo
{
int a;
}

Foo foo;
alias foo.a b;

void main()
{
b = 5;  // -- Error
}


dmd test.d
test.d(11): Error: need 'this' to access member a

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


[Issue 6842] Can't use alias of instance member

2011-10-22 Thread d-bugmail
http://d.puremagic.com/issues/show_bug.cgi?id=6842


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

   What|Removed |Added

   Keywords|rejects-valid   |
   Severity|normal  |enhancement


--- Comment #1 from Kenji Hara k.hara...@gmail.com 2011-10-22 22:28:33 PDT ---
This is an enhancement, not rejects-valid.
Because foo.a is an expression, and it is neither type nor symbol.

http://d-programming-language.org/declaration.html
AliasDeclaration allows type or symbol as the first argument.

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


[Issue 6325] ICE(glue.c) forward reference error in template constraint

2011-10-22 Thread d-bugmail
http://d.puremagic.com/issues/show_bug.cgi?id=6325


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

   What|Removed |Added

 CC||clugd...@yahoo.com.au
Summary|Assertion failure: '0' on   |ICE(glue.c) forward
   |line 1123 in file 'glue.c'  |reference error in template
   ||constraint


--- Comment #6 from Don clugd...@yahoo.com.au 2011-10-22 22:38:23 PDT ---
Probably the same issue as bug 6774.

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