[Issue 4973] New: map file with spaces in file name passed without quotes to linker

2010-10-02 Thread d-bugmail
http://d.puremagic.com/issues/show_bug.cgi?id=4973

   Summary: map file with spaces in file name passed without
quotes to linker
   Product: D
   Version: D1 & D2
  Platform: Other
OS/Version: Windows
Status: NEW
  Keywords: link-failure, patch
  Severity: normal
  Priority: P2
 Component: DMD
AssignedTo: nob...@puremagic.com
ReportedBy: r.sagita...@gmx.de


--- Comment #0 from Rainer Schuetze  2010-10-02 00:15:31 
PDT ---
Specifying a map file to dmd that contains spaces like this

  dmd test.d -map "a b.map" -v

produces

binaryc:\l\dmd-2.048\windows\bin\dmd.exe
version   v2.048
[...]
c:\l\dmd-2.048\windows\bin\link.exe test,,a b.map,user32+kernel32/m/noi;
OPTLINK (R) for Win32  Release 8.00.2
Copyright (C) Digital Mars 1989-2009  All rights reserved.
http://www.digitalmars.com/ctg/optlink.html
user32.def(0) : Error 2: File Not Found user32.def
--- errorlevel 1

showing that the map file name is not quoted.

Here's the patch:

Index: link.c
===
--- link.c(revision 701)
+++ link.c(working copy)
@@ -116,7 +116,7 @@

 cmdbuf.writeByte(',');
 if (global.params.mapfile)
-cmdbuf.writestring(global.params.mapfile);
+writeFilename(&cmdbuf, global.params.mapfile);
 else if (global.params.run)
 cmdbuf.writestring("nul");
 cmdbuf.writeByte(',');

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


[Issue 4974] New: Cannot have pure constructor due to impure invariant

2010-10-02 Thread d-bugmail
http://d.puremagic.com/issues/show_bug.cgi?id=4974

   Summary: Cannot have pure constructor due to impure invariant
   Product: D
   Version: unspecified
  Platform: Other
OS/Version: Linux
Status: NEW
  Severity: normal
  Priority: P2
 Component: DMD
AssignedTo: nob...@puremagic.com
ReportedBy: jmdavisp...@gmx.com


--- Comment #0 from Jonathan M Davis  2010-10-02 02:49:43 
PDT ---
This code

struct S
{
this(int x) pure
{
this.x = x;
}

invariant()
{
assert(x >= 0);
}

int x;
}

void main()
{
}


results in this compilation error

Error: pure function 'this' cannot call impure function '__invariant'
d.d(8): Error: function d.S.__invariant () is not callable using argument types
()
Error: pure function 'this' cannot call impure function '__invariant'


Maybe this will be fixed by the changes that Don has suggested, I don't know.
But with dmd 2.049, it is, as far as I can tell, impossible to have a pure
constructor and an invariant - and the lack of a pure constructor really limits
how much you can make pure. There doesn't appear to be a way to make invariant
pure either.

So, I see three possible solutions

1. Make it possible to mark invariants as pure.
2. Consider invariant pure as long as it doesn't access mutable globals.
3. Have invariant act like it's pure but don't care whether it really is or
(probably better) output a warning if it isn't.


The one I'd like best would be #3 on the theory that it would allow you to use
writeln() and have a pure invariant. The invariant would be compiled out in
release builds, so it wouldn't affect release code anyway. And if it means that
writeln() doesn't print as often due to a pure function call being optimized
out, then tough luck. It would just be temporary debugging code anyway. And
since there's a halfway decent chance that pure function calls don't get cached
in debug builds anyway, then you really wouldn't lose anything.

Now, assuming that #3 isn't acceptable, #2 would likely be the best, since it
wouldn't require changing the grammar to somehow mark an invariant as pure, but
any of the three would be better than the current situation.

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


[Issue 4974] Cannot have pure constructor due to impure invariant

2010-10-02 Thread d-bugmail
http://d.puremagic.com/issues/show_bug.cgi?id=4974


bearophile_h...@eml.cc changed:

   What|Removed |Added

 CC||bearophile_h...@eml.cc


--- Comment #1 from bearophile_h...@eml.cc 2010-10-02 04:29:22 PDT ---
See also bug 3856

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


[Issue 3856] const arguments/instance attributes in conditions/invariants

2010-10-02 Thread d-bugmail
http://d.puremagic.com/issues/show_bug.cgi?id=3856



--- Comment #3 from bearophile_h...@eml.cc 2010-10-02 04:30:04 PDT ---
See also bug 4974

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


[Issue 1001] print stack trace (in debug mode) when program die

2010-10-02 Thread d-bugmail
http://d.puremagic.com/issues/show_bug.cgi?id=1001


vano  changed:

   What|Removed |Added

 CC||ivan.melnychu...@gmail.com


--- Comment #32 from vano  2010-10-02 10:18:36 PDT 
---
(In reply to comment #24)
> There's two big things left on my list for stacktraces (at least on linux) 
> that
> need to be done:
> 
> 1) the default dmd.conf needs to have -L--export-dynamic in it
> 2) the strings from backtrace_symbols need to be demangled
> 
> Any collapsing of recursion is a distant second in my opinion.
> 
> Obviously, for those that use windows, traces on windows would probably go
> above #1 in priority -- but I'm not in that set. :)

So true! The lack of backtrace (stacktrace) on Windows is so frustrating. I
really hope that with this bug having quite few votes Sean would implement it
in the near future.

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


[Issue 3878] Arguments and members with the same name

2010-10-02 Thread d-bugmail
http://d.puremagic.com/issues/show_bug.cgi?id=3878


Stewart Gordon  changed:

   What|Removed |Added

 CC||s...@iname.com
Summary|Arguments and attributes|Arguments and members with
   |with the same name  |the same name


--- Comment #5 from Stewart Gordon  2010-10-02 11:06:58 PDT ---
The summary was confusing - many of us understand "attributes" to mean the
keywords that qualify a declaration.  It took me few moments to make sense of
it.

(In reply to comment #0)
> Less restricting solution: in only those cases, where there can be ambiguity
> for the eyes of a programmer, the compiler can require the use of "this.".

It already is required when you want to access the member in such
circumstances.

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


Re: Documentation bug.

2010-10-02 Thread anonymous
On 2010-10-02, Jonathan M Davis  wrote:
> bug reports. To actually report bugs, go here: 
> http://d.puremagic.com/issues/enter_bug.cgi
>
> - Jonathan M Davis

Holy shit, not _another_ Bugzilla account. 


[Issue 4975] New: Threads + TcpSockets + Windows = FAIL (also, core.thread is broken on Linux)

2010-10-02 Thread d-bugmail
http://d.puremagic.com/issues/show_bug.cgi?id=4975

   Summary: Threads + TcpSockets + Windows = FAIL (also,
core.thread is broken on Linux)
   Product: D
   Version: D2
  Platform: Other
OS/Version: Windows
Status: NEW
  Severity: major
  Priority: P2
 Component: DMD
AssignedTo: nob...@puremagic.com
ReportedBy: b599...@lhsdv.com


--- Comment #0 from b599...@lhsdv.com 2010-10-02 15:16:21 PDT ---
Created an attachment (id=779)
An example program.

If you create a thread from core.thread and a listening socket in the same
program, then once the thread exits, all attempts to accept() from the
listening socket will fail with the error message "Unable to accept socket
connection", and so will all attempts to create new TcpSockets.

An example program is provided. I believe it to be the simplest program that
exhibits this bug.

When compiled with -version=Works, then the created threads never exit, so the
failure condition is never reached.

When compiled with -version=Broken, the threads exit immediately, leading to
failure as soon as you connect to localhost:1234.

This bug is only present in the Windows version of DMD. When compiled on Linux,
the example program works properly with both version tags. (Mac OS X was not
tested).

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


Re: Documentation bug.

2010-10-02 Thread Jonathan M Davis
On Saturday 02 October 2010 14:20:12 anonymous wrote:
> On 2010-10-02, Jonathan M Davis  wrote:
> > bug reports. To actually report bugs, go here:
> > http://d.puremagic.com/issues/enter_bug.cgi
> > 
> > - Jonathan M Davis
> 
> Holy shit, not _another_ Bugzilla account.

LOL. There do seem to be a lot of them, don't they. But then again, unless 
you're dealing with some place like sourceforge, odds are that a project's bug 
database (bugzilla or otherwise) will be just for it, and so you'll need an 
account specific to it. Such is the nature of the beast, I suppose. It can sure 
lead to a lot of accounts though if you report many bugs.

- Jonathan M Davis


[Issue 4976] New: Can't use auto on const member functions.

2010-10-02 Thread d-bugmail
http://d.puremagic.com/issues/show_bug.cgi?id=4976

   Summary: Can't use auto on const member functions.
   Product: D
   Version: D2
  Platform: All
OS/Version: All
Status: NEW
  Severity: major
  Priority: P2
 Component: DMD
AssignedTo: nob...@puremagic.com
ReportedBy: peter.alexander...@gmail.com


--- Comment #0 from Peter Alexander  2010-10-02 
17:26:27 PDT ---
When you try to use type inference on a const member function, you get a
compiler error:

class Foo
{
public:
auto foo() const { return 0; }
}

Compiling gives:

test.d(4): no identifier for declarator foo
test.d(4): semicolon expected, not 'const'
test.d(4): Declaration expected, not 'return'

Removing the 'const' allows it to compile, but the function can no longer be
called on const objects.

The same applies for structs and @property methods.

This is using DMD 2.049.

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


[Issue 4977] New: cannot use nothrow or pure with Rebindable

2010-10-02 Thread d-bugmail
http://d.puremagic.com/issues/show_bug.cgi?id=4977

   Summary: cannot use nothrow or pure with Rebindable
   Product: D
   Version: unspecified
  Platform: Other
OS/Version: Linux
Status: NEW
  Severity: normal
  Priority: P2
 Component: Phobos
AssignedTo: nob...@puremagic.com
ReportedBy: jmdavisp...@gmx.com


--- Comment #0 from Jonathan M Davis  2010-10-02 17:39:46 
PDT ---
Rebindable does nothing about nothrow or pure. None of its functions are marked
on nothrow or pure, making it rather difficult to use Rebindable with a type
which has carefully been made to correctly use nothrow and/or pure.

The first thing would be to make opDot() nothrow and pure. I'm pretty sure that
you can get away with that (though pure may not be possible until the next
version of the compiler is released with the changes to pure that Don
suggested).

opAssign() would probably be just as easy, though I'm not sure. Since we're
dealing with copying classes, interfaces, or arrays, I think that you can just
make opAssign nothrow with no problem (since you have no postblit constructor
to worry about possibly throwing). On purity, I'm not so sure. It might work
now, or it might require the changes Don suggested, but I think that it will
work at that point.

Since the constructor uses opAssign(), it will probably be just as
easy/difficult to change as opAssign will be.

In any case, as it stands, its rather difficult to use either nothrow or pure
with Rebindable, which either severely limits where you can use Rebindable, or
it severely limits the type that you put in Rebindable.

rebindable() will likely have to be changed appropriately as well.

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


[Issue 4976] Can't use auto on const member functions.

2010-10-02 Thread d-bugmail
http://d.puremagic.com/issues/show_bug.cgi?id=4976


Simen Kjaeraas  changed:

   What|Removed |Added

 Status|NEW |RESOLVED
 CC||simen.kja...@gmail.com
 Resolution||INVALID


--- Comment #1 from Simen Kjaeraas  2010-10-02 17:40:01 
PDT ---
This is because const and auto are both storage classes. What you want is
easily achieved by using this syntax:

class Foo {
public:
   const foo( ) {
   return 0;
   } 
}

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


[Issue 4976] Can't use auto on const member functions.

2010-10-02 Thread d-bugmail
http://d.puremagic.com/issues/show_bug.cgi?id=4976



--- Comment #2 from Peter Alexander  2010-10-02 
17:51:12 PDT ---
Oh, I would have never expected that.

Thanks.

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


[Issue 4978] New: Can't get object out of Rebindable: get is private

2010-10-02 Thread d-bugmail
http://d.puremagic.com/issues/show_bug.cgi?id=4978

   Summary: Can't get object out of Rebindable: get is private
   Product: D
   Version: unspecified
  Platform: Other
OS/Version: Linux
Status: NEW
  Severity: normal
  Priority: P2
 Component: Phobos
AssignedTo: nob...@puremagic.com
ReportedBy: jmdavisp...@gmx.com


--- Comment #0 from Jonathan M Davis  2010-10-02 18:09:00 
PDT ---
This code

import std.typecons;

class T
{
this() immutable
{
}
}

void main()
{
immutable orig = new T();
auto bound = rebindable(orig);
immutable backOut = bound.get;
}


results in this compilation error:

d.d(14): Error: struct std.typecons.Rebindable!(immutable(T)).Rebindable member
original is not accessible
d.d(14): Error: struct std.typecons.Rebindable!(immutable(T)).Rebindable member
original is not accessible


As far as I can determine, get is the intended way to get the object out
Rebindable!() (I certainly can't see any other way), but it doesn't work. And
really, I see no point to get if it won't get you the object bound by
Rebindable!().

I think that get needs to be a property which returns original rather than just
an alias. The alias isn't working, and it makes really hard to use
Rebindable!() when you don't want to be passing Rebindable!() around
everywhere.

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


[Issue 4978] Can't get object out of Rebindable: get is private

2010-10-02 Thread d-bugmail
http://d.puremagic.com/issues/show_bug.cgi?id=4978



--- Comment #1 from Jonathan M Davis  2010-10-02 18:14:08 
PDT ---
Also, the static ifs at the top are missing any kind of get, so you can't use
get generically with Rebindable. Perhaps what should be done instead is to have
on opCast() which casts to the original. That would work with the first static
if - and obviously the struct in the else - but I'm not sure that it would work
with the second one since it's const when the original could have been
immutable. It is a potential concern though.

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


[Issue 4977] cannot use nothrow or pure with Rebindable

2010-10-02 Thread d-bugmail
http://d.puremagic.com/issues/show_bug.cgi?id=4977



--- Comment #1 from Jonathan M Davis  2010-10-02 18:25:53 
PDT ---
It looks like opDot() doesn't work with const or immutable Rebindable!()'s. So,
it probably needs a second version which is const (and possible a third for
immutable) in order to work with them. Otherwise, const member functions don't
work very well with member variables which are Rebindable!().

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


[Issue 4977] cannot use nothrow or pure with Rebindable

2010-10-02 Thread d-bugmail
http://d.puremagic.com/issues/show_bug.cgi?id=4977



--- Comment #2 from Jonathan M Davis  2010-10-02 18:39:56 
PDT ---
Here's a first attempt at a solution:

Rebindable(T) if (is(T == class) || is(T == interface) || isArray!(T))
{
static if (!is(T X == const(U), U) && !is(T X == immutable(U), U))
{
alias T Rebindable;
}
else static if (isArray!(T))
{
alias const(ElementType!(T))[] Rebindable;
}
else
{
struct Rebindable
{
private union
{
T original;
U stripped;
}

void opAssign(T another) nothrow
{
stripped = cast(U) another;
}

void opAssign(Rebindable another) nothrow
{
stripped = another.stripped;
}

static if (is(T == const U))
{
// safely assign immutable to const
void opAssign(Rebindable!(immutable U) another) nothrow
{
stripped = another.stripped;
}
}

this(T initializer) nothrow
{
opAssign(initializer);
}

@property T get() const pure nothrow
{
return original;
}

T opDot() pure nothrow
{
return original;
}

T opDot() const pure nothrow
{
return original;
}
}
}
}


With the current purity rules, I can't make opAssign() pure. It complains about
assigning to const. I don't know whether or nat that will be fixed with the
relaxed purity rules suggested by Don.

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


[Issue 4976] Can't use auto on const member functions.

2010-10-02 Thread d-bugmail
http://d.puremagic.com/issues/show_bug.cgi?id=4976


Stewart Gordon  changed:

   What|Removed |Added

   Keywords||spec
 Status|RESOLVED|REOPENED
 CC||s...@iname.com
 Resolution|INVALID |
   Severity|major   |enhancement


--- Comment #3 from Stewart Gordon  2010-10-02 18:43:55 PDT ---
But given its counter-intuitiveness, surely this is just a quirk of the
grammar, and not a deliberate design feature?

I suppose this is really part of the quirk whereby the grammar handles auto as
an attribute rather than as what it should be: a placeholder for a type.

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


[Issue 3230] std.conv should provide facilities for converting from Roman numerals.

2010-10-02 Thread d-bugmail
http://d.puremagic.com/issues/show_bug.cgi?id=3230


Andrei Alexandrescu  changed:

   What|Removed |Added

 Status|ASSIGNED|RESOLVED
 Resolution||WONTFIX


--- Comment #2 from Andrei Alexandrescu  2010-10-02 
19:05:30 PDT ---
This is a bit too exotic for inclusion in the standard library. If people feel
differently, please reopen and discuss.

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


[Issue 3318] [PATCH]Rebindable.get is not accessible

2010-10-02 Thread d-bugmail
http://d.puremagic.com/issues/show_bug.cgi?id=3318


Andrei Alexandrescu  changed:

   What|Removed |Added

 Status|ASSIGNED|RESOLVED
 Resolution||FIXED


--- Comment #2 from Andrei Alexandrescu  2010-10-02 
19:21:53 PDT ---
http://www.dsource.org/projects/phobos/changeset/2080

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


[Issue 3318] [PATCH]Rebindable.get is not accessible

2010-10-02 Thread d-bugmail
http://d.puremagic.com/issues/show_bug.cgi?id=3318


Jonathan M Davis  changed:

   What|Removed |Added

 CC||jmdavisp...@gmx.com


--- Comment #3 from Jonathan M Davis  2010-10-02 19:51:38 
PDT ---
What's the point of

alias get this;

in the fix? I would have thought that that would conflict with the get property
function. It would seem to make it so that get would either give you the type
that Rebindable!() holds or Rebindable!() itself which would appear to
effectively overload get on the return type.

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


[Issue 4977] cannot use nothrow or pure with Rebindable

2010-10-02 Thread d-bugmail
http://d.puremagic.com/issues/show_bug.cgi?id=4977



--- Comment #3 from Jonathan M Davis  2010-10-02 19:53:51 
PDT ---
With the fix for bug # 3318, the new get property function now joins opDot() in
needing a const version with both versions being nothrow.

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


[Issue 4979] New: Implementing an interface twice results in different a reference for each interface

2010-10-02 Thread d-bugmail
http://d.puremagic.com/issues/show_bug.cgi?id=4979

   Summary: Implementing an interface twice results in different a
reference for each interface
   Product: D
   Version: D2
  Platform: Other
OS/Version: Windows
Status: NEW
  Keywords: wrong-code
  Severity: normal
  Priority: P2
 Component: DMD
AssignedTo: nob...@puremagic.com
ReportedBy: 2kor...@gmail.com


--- Comment #0 from Koroskin Denis <2kor...@gmail.com> 2010-10-02 20:57:43 PDT 
---
interface Foo
{
}

class Bar : Foo
{
}

class Baz : Bar, Foo
{
}

void main()
{
Baz baz = new Baz();
Bar bar = baz;

Foo foo1 = bar;
Foo foo2 = baz;

assert(foo1 is foo2);
}


foo1 and foo2 have the same type and point to the same object yet they have
different addresses.

The test above passes for C# (http://ideone.com/xK5Mu) and C++
(http://ideone.com/MnnL8 virtual inheritance used, fails otherwise, of course).

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


[Issue 4980] New: ICE on unknown type in a shared class/struct

2010-10-02 Thread d-bugmail
http://d.puremagic.com/issues/show_bug.cgi?id=4980

   Summary: ICE on unknown type in a shared class/struct
   Product: D
   Version: D2
  Platform: Other
OS/Version: Windows
Status: NEW
  Severity: normal
  Priority: P2
 Component: DMD
AssignedTo: nob...@puremagic.com
ReportedBy: 2kor...@gmail.com


--- Comment #0 from Koroskin Denis <2kor...@gmail.com> 2010-10-02 21:04:22 PDT 
---
shared class Foo
{
Bar* bar;
}

test.d(3): Error: identifier 'Bar' is not defined
test.d(3): Error: Bar is used as a type
Assertion failure: 'tn->mod & MODimmutable || tn->mod & MODshared' on line 883
in file 'mtype.c'

abnormal program termination

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


[Issue 4981] New: Assertion failure: 'precedence[e->op] != PREC_zero' on line 816 in file 'expression.c'

2010-10-02 Thread d-bugmail
http://d.puremagic.com/issues/show_bug.cgi?id=4981

   Summary: Assertion failure: 'precedence[e->op] != PREC_zero' on
line 816 in file 'expression.c'
   Product: D
   Version: D2
  Platform: Other
OS/Version: Windows
Status: NEW
  Severity: normal
  Priority: P2
 Component: DMD
AssignedTo: nob...@puremagic.com
ReportedBy: 2kor...@gmail.com


--- Comment #0 from Koroskin Denis <2kor...@gmail.com> 2010-10-02 21:26:47 PDT 
---
shared class A
{
void funcProto()
{
}

void func(shared(FuncType) func)
{
}
}

alias typeof(&A.init.funcProto) FuncType;

shared class B : A
{
void foo()
{
B* b;
shared(FuncType) o = b.func = &b.bar;
//auto o = b.func = &b.bar;
}

void bar()
{
}
}

Assertion failure: 'precedence[e->op] != PREC_zero' on line 816 in file
'expression.c'

abnormal program termination

Replacing "shared(FuncType) o" with "auto o" (line 20) adds additional error
message:

test.d(20): Error: variable test.B.foo.o voids have no value

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


[Issue 4982] New: Repeating same error message thousands of times due to brute forcing matching symbol name

2010-10-02 Thread d-bugmail
http://d.puremagic.com/issues/show_bug.cgi?id=4982

   Summary: Repeating same error message thousands of times due to
brute forcing matching symbol name
   Product: D
   Version: D2
  Platform: Other
OS/Version: Windows
Status: NEW
  Severity: normal
  Priority: P2
 Component: DMD
AssignedTo: nob...@puremagic.com
ReportedBy: 2kor...@gmail.com


--- Comment #0 from Koroskin Denis <2kor...@gmail.com> 2010-10-02 21:37:35 PDT 
---
class A
{
Foo foo;
// int someSymbol;
}

class B : A
{
}

alias typeof(&B.init.someSymbol) Foo;

Result:
test.d(6): Error: class test.B is forward referenced when looking for
'someSymboKl'
test.d(6): Error: class test.B is forward referenced when looking for
'someSymboLl'
test.d(6): Error: class test.B is forward referenced when looking for
'someSymboMl'
test.d(6): Error: class test.B is forward referenced when looking for
'someSymboNl'
test.d(6): Error: class test.B is forward referenced when looking for
'someSymboOl'
test.d(6): Error: class test.B is forward referenced when looking for
'someSymboPl'
test.d(6): Error: class test.B is forward referenced when looking for
'someSymboQl'
test.d(6): Error: class test.B is forward referenced when looking for
'someSymboRl'
test.d(6): Error: class test.B is forward referenced when looking for
'someSymboSl'
test.d(6): Error: class test.B is forward referenced when looking for
'someSymboTl'
...

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


[Issue 4983] New: Stack overflow while initializing struct member with address of one of its methods

2010-10-02 Thread d-bugmail
http://d.puremagic.com/issues/show_bug.cgi?id=4983

   Summary: Stack overflow while initializing struct member with
address of one of its methods
   Product: D
   Version: D2
  Platform: Other
OS/Version: Windows
Status: NEW
  Keywords: ice-on-valid-code
  Severity: normal
  Priority: P2
 Component: DMD
AssignedTo: nob...@puremagic.com
ReportedBy: 2kor...@gmail.com


--- Comment #0 from Koroskin Denis <2kor...@gmail.com> 2010-10-02 21:45:09 PDT 
---
struct Foo
{
void bar()
{
}

void delegate() dg = &Foo.init.bar;
}

# dmd test.d
Stack overflow

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


Re: Documentation bug.

2010-10-02 Thread Leandro Lucarella
Jonathan M Davis, el  2 de octubre a las 16:04 me escribiste:
> On Saturday 02 October 2010 14:20:12 anonymous wrote:
> > On 2010-10-02, Jonathan M Davis  wrote:
> > > bug reports. To actually report bugs, go here:
> > > http://d.puremagic.com/issues/enter_bug.cgi
> > > 
> > > - Jonathan M Davis
> > 
> > Holy shit, not _another_ Bugzilla account.
> 
> LOL. There do seem to be a lot of them, don't they. But then again, unless 
> you're dealing with some place like sourceforge, odds are that a project's 
> bug 
> database (bugzilla or otherwise) will be just for it, and so you'll need an 
> account specific to it. Such is the nature of the beast, I suppose. It can 
> sure 
> lead to a lot of accounts though if you report many bugs.

Unless the bug-tracker let you report bugs without having an account,
which is the only sensible thing to do! I really don't get compulsory
registration, it makes no sense (spam is the only reason I could think
of but there are captchas these days).

That's why I love Bugmenot: http://www.bugmenot.com/. The problem is
f*cking Bugzilla don't let you subscribe to a bug with an e-mail that is
not registered -.-, but if you want to see all bugs notifications, you
can use this list for that.

-- 
Leandro Lucarella (AKA luca) http://llucax.com.ar/
--
GPG Key: 5F5A8D05 (F8CD F9A7 BF00 5431 4145  104C 949E BFB6 5F5A 8D05)
--
Borrowing money from a friend is like having sex. It just completely changes
the relationship.
-- George Constanza