[Issue 4830] Regression(2.038) ICE mtype.c:879: void Type::check(): Assertion `tn-mod == 4' failed

2010-09-29 Thread d-bugmail
http://d.puremagic.com/issues/show_bug.cgi?id=4830



--- Comment #2 from Don clugd...@yahoo.com.au 2010-09-29 00:25:22 PDT ---
This was caused by adding this line to AliasDeclaration::semantic() in svn 307
(which was fixing bug 3641 alias shared T U does not work)

+type = type-addStorageClass(storage_class);
if (storage_class  (STCref | STCnothrow | STCpure))
{// For 'ref' to be attached to function types, and picked

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


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

2010-09-29 Thread d-bugmail
http://d.puremagic.com/issues/show_bug.cgi?id=3682



--- Comment #4 from Don clugd...@yahoo.com.au 2010-09-29 00:27:01 PDT ---
Caused by svn 318, which was fixing bug 282 Bizarre circular import nested
name invisibility issue. Regression bug 4543 was introduced at the same time.

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


[Issue 4543] Regression(1.054, 2.038) typedef circular definition and segfault

2010-09-29 Thread d-bugmail
http://d.puremagic.com/issues/show_bug.cgi?id=4543



--- Comment #8 from Don clugd...@yahoo.com.au 2010-09-29 00:27:35 PDT ---
Caused by svn 318, which was fixing bug 282 Bizarre circular import nested
name invisibility issue. Regression bug 3682 was introduced at the same time.

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


[Issue 2095] covariance w/o typechecks = bugs

2010-09-29 Thread d-bugmail
http://d.puremagic.com/issues/show_bug.cgi?id=2095



--- Comment #12 from Stewart Gordon s...@iname.com 2010-09-29 02:47:57 PDT ---
(In reply to comment #11)
 I think in this case runtime tests in nonrelease builds are better than
 nothing.

In what case?  And what would these runtime tests do?

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


[Issue 4955] New: struct dirent.d_type is not a mask

2010-09-29 Thread d-bugmail
http://d.puremagic.com/issues/show_bug.cgi?id=4955

   Summary: struct dirent.d_type is not a mask
   Product: D
   Version: D2
  Platform: Other
OS/Version: Linux
Status: NEW
  Severity: normal
  Priority: P2
 Component: Phobos
AssignedTo: nob...@puremagic.com
ReportedBy: tomash.brec...@gmail.com


--- Comment #0 from Tomash Brechko tomash.brec...@gmail.com 2010-09-29 
04:18:02 PDT ---
In phobos/std/file.d:

version(Posix) struct DirEntry
{
...
bool isdir() const
{
return (d_type  DT_DIR) != 0;
}

bool isfile() const
{
return (d_type  DT_REG) != 0;
}

But struct dirent.d_type is not a mask (unlike struct stat.st_mode), it's a
plain value, and should be compared (d_type == DT_DIR) and (d_type == DT_REG)
respectively.  To test, compile the following:

// dir.d
import std.file;
import std.stdio;

void
main(string[] args)
{
  foreach (string name; dirEntries(args[1], SpanMode.depth))
writeln(name);
}

and then do:

$ mkdir /tmp/test
$ mksock /tmp/test/sock
$ ./dir /tmp/test
std.file.fileexcept...@std/file.d(1066): /tmp/test/sock: Not a directory

./dir() [0x804d71f]
./dir() [0x804daf8]
./dir() [0x804d95f]
./dir() [0x8049750]
./dir() [0x804d9ea]
./dir() [0x8049683]
./dir() [0x80494ef]
./dir() [0x804bf06]
./dir() [0x804be60]
./dir() [0x804bf4a]
./dir() [0x804be60]
./dir() [0x804be06]
/lib/libc.so.6(__libc_start_main+0xe6) [0x3edbb6]
./dir() [0x8049401]

See it tries to descend into /tmp/test/sock.

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


[Issue 4953] opBinaryRight for in doesn't work right

2010-09-29 Thread d-bugmail
http://d.puremagic.com/issues/show_bug.cgi?id=4953



--- Comment #1 from Steven Schveighoffer schvei...@yahoo.com 2010-09-29 
06:06:21 PDT ---
Further evidence, this compiles:

void main()
{
S s;
s.opBinaryRight!in(5);
}

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


[Issue 4956] New: remove direct references to gcc from linux.mak

2010-09-29 Thread d-bugmail
http://d.puremagic.com/issues/show_bug.cgi?id=4956

   Summary: remove direct references to gcc from linux.mak
   Product: D
   Version: D1  D2
  Platform: Other
OS/Version: Windows
Status: NEW
  Severity: normal
  Priority: P2
 Component: DMD
AssignedTo: nob...@puremagic.com
ReportedBy: shro8...@vandals.uidaho.edu


--- Comment #0 from BCS shro8...@vandals.uidaho.edu 2010-09-29 07:14:18 PDT 
---
the current linux makefile has g++ replaced with a variable but has g++ hard
coded in. This seems inconsistent and causes me trouble (gcc isn't called gcc
in my environment).

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


[Issue 4955] struct dirent.d_type is not a mask

2010-09-29 Thread d-bugmail
http://d.puremagic.com/issues/show_bug.cgi?id=4955


Andrei Alexandrescu and...@metalanguage.com changed:

   What|Removed |Added

 Status|NEW |ASSIGNED
 CC||and...@metalanguage.com


--- Comment #1 from Andrei Alexandrescu and...@metalanguage.com 2010-09-29 
09:38:20 PDT ---
Thanks for the catch!

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


[Issue 2742] std.stdio assumes console works in utf-8

2010-09-29 Thread d-bugmail
http://d.puremagic.com/issues/show_bug.cgi?id=2742



--- Comment #6 from Sobirari Muhomori dfj1es...@sneakemail.com 2010-09-29 
10:58:53 PDT ---
http://www.digitalmars.com/webnews/newsgroups.php?art_group=digitalmars.Darticle_id=114211

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


[Issue 2742] std.stdio assumes console works in utf-8

2010-09-29 Thread d-bugmail
http://d.puremagic.com/issues/show_bug.cgi?id=2742



--- Comment #7 from Sobirari Muhomori dfj1es...@sneakemail.com 2010-09-29 
11:02:43 PDT ---
This can be a good test for dchar[]-looking ranges.

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


[Issue 2742] std.stdio assumes console works in utf-8

2010-09-29 Thread d-bugmail
http://d.puremagic.com/issues/show_bug.cgi?id=2742



--- Comment #8 from Sobirari Muhomori dfj1es...@sneakemail.com 2010-09-29 
11:39:42 PDT ---
Looking at std.stdio, an easy fix will be to make sure all IO goes through
File.write, which calls LockingTextWriter.put, which actually tries to do the
correct transcoding. You just need to have target codepage in File, and use it
in LockingTextWriter.put. The first thing is to statically import
core.stdc.stdio to minimize and control its usage.

Though a nice design will be correctly implemented .net-way
Streams/TextStreams, whatever you want them to work like in D.

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


[Issue 3936] Suggestions for some better alternative names

2010-09-29 Thread d-bugmail
http://d.puremagic.com/issues/show_bug.cgi?id=3936



--- Comment #4 from Sobirari Muhomori dfj1es...@sneakemail.com 2010-09-29 
12:13:51 PDT ---
there's a common name for int8_t - tiny.

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


[Issue 4957] New: std.concurrency does not allow to pass Tid in struct fields

2010-09-29 Thread d-bugmail
http://d.puremagic.com/issues/show_bug.cgi?id=4957

   Summary: std.concurrency does not allow to pass Tid in struct
fields
   Product: D
   Version: D2
  Platform: x86
OS/Version: Linux
Status: NEW
  Severity: normal
  Priority: P2
 Component: Phobos
AssignedTo: nob...@puremagic.com
ReportedBy: osa8...@gmail.com


--- Comment #0 from osa8...@gmail.com 2010-09-29 12:14:23 PDT ---
send() allows to Tid only as a top-level parameter. Using Tid in a struct does
not work. This compiles:

import std.concurrency;
void main() {
send( thisTid, thisTid );
receive( Tid );
}


This fails to compile:

import std.concurrency;
struct Message { Tid tid; }
void main() {
send( thisTid, Message( thisTid ) );
receive( ( Message ) {} );
}
---
std/concurrency.d(363): Error: static assert  Aliases to mutable thread-local
data not allowed.
c.d(4):instantiated from here: send!(Message)

So Tid is not mutable when passed to send() directly, but as a part of struct
Message, it suddenly becomes mutable?

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


[Issue 2267] [Tracker] D2 Tango port

2010-09-29 Thread d-bugmail
http://d.puremagic.com/issues/show_bug.cgi?id=2267


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

   What|Removed |Added

 Status|REOPENED|RESOLVED
 CC||clugd...@yahoo.com.au
 Resolution||FIXED


--- Comment #5 from Don clugd...@yahoo.com.au 2010-09-29 12:40:53 PDT ---
Closing this as all of the dependencies have been fixed.

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


[Issue 4623] Non-integer type allowed as static array size

2010-09-29 Thread d-bugmail
http://d.puremagic.com/issues/show_bug.cgi?id=4623


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

   What|Removed |Added

   Keywords||patch
 CC||clugd...@yahoo.com.au


--- Comment #1 from Don clugd...@yahoo.com.au 2010-09-29 12:43:23 PDT ---
PATCH mtype.c, TypeSArray::semantic(), line 3344.

dinteger_t d1 = dim-toInteger();
-dim = dim-castTo(sc, tsize_t);
+dim = dim-implicitCastTo(sc, Type::tsize_t);
dim = dim-optimize(WANTvalue);
dinteger_t d2 = dim-toInteger();
if (dim-op == TOKerror)
   goto Lbaddim;

if (d1 != d2)
goto Loverflow;

... and further down:

  Loverflow:
error(loc, index %jd overflow for static array, d1);
+  Lbaddim:
dim = new IntegerExp(0, 1, tsize_t);

TEST CASE for test suite
//bug 4623
static assert( !is (typeof(() {int[123.1] x; return x; })));

I've done this patch in a relatively complicated way, so that something like:
int[7654321.0] bug4623b;
generates only one error message, not two.

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


[Issue 4623] Non-integer type allowed as static array size

2010-09-29 Thread d-bugmail
http://d.puremagic.com/issues/show_bug.cgi?id=4623



--- Comment #2 from Iain Buclaw ibuc...@ubuntu.com 2010-09-29 14:50:14 PDT ---
Can't you catch it in the lexer?

Just thinking out loud...

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