[Issue 664] is(func T == function) ignores variadic arguments
http://d.puremagic.com/issues/show_bug.cgi?id=664 Don changed: What|Removed |Added Keywords||spec --- Comment #9 from Don 2011-12-19 22:44:37 PST --- (In reply to comment #8) > (In reply to comment #7) > > (In reply to comment #6) > > > How does that solve the problem? The root cause is that is( ==function) > > > assumes > > > that all of the function parameters can be returned in a tuple, but that > > > isn't > > > true for ... > > > > In what way does it make that assumption? > > It declares T as a tuple containing all of the function arguments. Complete section of the spec: -- 6. is ( Type Identifier == TypeSpecialization ) The condition is satisfied if Type is semantically correct and is the same as TypeSpecialization. The Identifier is declared to be either an alias of the TypeSpecialization or, if TypeSpecialization is dependent on Identifier, the deduced type. If TypeSpecialization is one of typedef struct union class interface enum function delegate then the condition is satisifed if Type is one of those. Furthermore, Identifier is set to be an alias of the type: keyword alias type for Identifier function TypeTuple of the function parameter types -- This is impossible if the function has a C-style variadic parameter. Although solution (2) would allow it to be a Tuple, it wouldnt be a TypeTuple. So a change to the spec is inevitable. -- Configure issuemail: http://d.puremagic.com/issues/userprefs.cgi?tab=email --- You are receiving this mail because: ---
[Issue 664] is(func T == function) ignores variadic arguments
http://d.puremagic.com/issues/show_bug.cgi?id=664 --- Comment #8 from Don 2011-12-19 22:34:00 PST --- (In reply to comment #7) > (In reply to comment #6) > > How does that solve the problem? The root cause is that is( ==function) > > assumes > > that all of the function parameters can be returned in a tuple, but that > > isn't > > true for ... > > In what way does it make that assumption? It declares T as a tuple containing all of the function arguments. -- Configure issuemail: http://d.puremagic.com/issues/userprefs.cgi?tab=email --- You are receiving this mail because: ---
[Issue 7065] align() refused for struct defined inside functions
http://d.puremagic.com/issues/show_bug.cgi?id=7065 Kenji Hara changed: What|Removed |Added Keywords||patch Platform|x86 |All OS/Version|Windows |All --- Comment #1 from Kenji Hara 2011-12-19 22:03:09 PST --- More better link to discussion. http://dfeed.kimsufi.thecybershadow.net/discussion/thread/mailman.1303.1323008066.24802.digitalmars-d-le...@puremagic.com Patch: https://github.com/D-Programming-Language/dmd/pull/562 -- Configure issuemail: http://d.puremagic.com/issues/userprefs.cgi?tab=email --- You are receiving this mail because: ---
[Issue 7139] New: OPTLINK Termination EIP=00428DA3
http://d.puremagic.com/issues/show_bug.cgi?id=7139 Summary: OPTLINK Termination EIP=00428DA3 Product: D Version: D2 Platform: Other OS/Version: Windows Status: NEW Severity: major Priority: P2 Component: Optlink AssignedTo: nob...@puremagic.com ReportedBy: dsim...@yahoo.com --- Comment #0 from David Simcha 2011-12-19 19:06:47 PST --- Created an attachment (id=1055) Object/lib files to reproduce the bug. Object/library files necessary to reproduce this bug are attached. Register info: EIP =00428DA3 EAX =0278 EBX =026C ECX =0043F7B4 EDX =0278 ESI =030E3D88 EDI =0043FA9D EBP =0018FF04 ESP =0018FEF8 FIRST=00402000 Link command: D:/dmd2/windows/bin/link.exe test9,,nul,"scid.lib"+"blaslapackdll.lib"+user32+kernel32/co/noi; -- Configure issuemail: http://d.puremagic.com/issues/userprefs.cgi?tab=email --- You are receiving this mail because: ---
[Issue 7138] New: Can't call array() on dirEntries
http://d.puremagic.com/issues/show_bug.cgi?id=7138 Summary: Can't call array() on dirEntries Product: D Version: D2 Platform: Other OS/Version: Windows Status: NEW Severity: major Priority: P2 Component: Phobos AssignedTo: nob...@puremagic.com ReportedBy: andrej.mitrov...@gmail.com --- Comment #0 from Andrej Mitrovic 2011-12-19 12:38:05 PST --- module test; import std.algorithm; import std.array; import std.file; void main() { auto dFiles = filter!`endsWith(a.name,".d")`(dirEntries(".",SpanMode.depth)); auto arr1 = array(dFiles); // OK auto arr2 = array(dirEntries(".",SpanMode.depth)); // NG?? } test.d(11): Error: template std.array.array(Range) if (isIterable!(Range) && !isNarrowString!(Range)) does not match any function template declaration test.d(11): Error: template std.array.array(Range) if (isIterable!(Range) && !isNarrowString!(Range)) cannot deduce template function from argument types !()(DirIterator) -- Configure issuemail: http://d.puremagic.com/issues/userprefs.cgi?tab=email --- You are receiving this mail because: ---
[Issue 7137] New: Fresh git clone fails to build
http://d.puremagic.com/issues/show_bug.cgi?id=7137 Summary: Fresh git clone fails to build Product: D Version: unspecified Platform: x86_64 OS/Version: Mac OS X Status: NEW Severity: normal Priority: P2 Component: make AssignedTo: nob...@puremagic.com ReportedBy: syntaxcolor...@gmail.com --- Comment #0 from syntaxcolor...@gmail.com 2011-12-19 11:54:06 PST --- >From git commit 09cde86ef79908cfd0ddacf0d45dd1892b387e3a on OS X 10.6.8: make -f posix.mak dmd -m32 -c -d -o- -Isrc -Iimport -Hfimport/core/atomic.di src/core/atomic.d dmd -m32 -c -d -o- -Isrc -Iimport -Hfimport/core/bitop.di src/core/bitop.d dmd -m32 -c -d -o- -Isrc -Iimport -Hfimport/core/cpuid.di src/core/cpuid.d dmd -m32 -c -d -o- -Isrc -Iimport -Hfimport/core/demangle.di src/core/demangle.d make: *** [import/core/demangle.di] Bus error make: *** Deleting file `import/core/demangle.di' -- Configure issuemail: http://d.puremagic.com/issues/userprefs.cgi?tab=email --- You are receiving this mail because: ---
[Issue 7031] Stack overflow with immutable recursive struct
http://d.puremagic.com/issues/show_bug.cgi?id=7031 klickverbot changed: What|Removed |Added Status|NEW |RESOLVED CC||c...@klickverbot.at Resolution||DUPLICATE --- Comment #3 from klickverbot 2011-12-19 10:08:35 PST --- *** This issue has been marked as a duplicate of issue 7127 *** -- Configure issuemail: http://d.puremagic.com/issues/userprefs.cgi?tab=email --- You are receiving this mail because: ---
[Issue 7127] Const-related infinite recursion in DWARF generation
http://d.puremagic.com/issues/show_bug.cgi?id=7127 klickverbot changed: What|Removed |Added CC||mrmoc...@gmx.de --- Comment #3 from klickverbot 2011-12-19 10:08:35 PST --- *** Issue 7031 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 7127] Const-related infinite recursion in DWARF generation
http://d.puremagic.com/issues/show_bug.cgi?id=7127 klickverbot changed: What|Removed |Added CC||webmaster@villagersonline.c ||om --- Comment #2 from klickverbot 2011-12-19 10:08:15 PST --- *** Issue 5533 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 5533] Regression(2.051, Linux only): segv: -gc, associative arrays, const pointers to self
http://d.puremagic.com/issues/show_bug.cgi?id=5533 klickverbot changed: What|Removed |Added Status|NEW |RESOLVED CC||c...@klickverbot.at Resolution||DUPLICATE --- Comment #4 from klickverbot 2011-12-19 10:08:15 PST --- *** This issue has been marked as a duplicate of issue 7127 *** -- Configure issuemail: http://d.puremagic.com/issues/userprefs.cgi?tab=email --- You are receiving this mail because: ---
[Issue 4135] Regression(1.034): ICE(statement.c): mixin in bad foreach, D1 only
http://d.puremagic.com/issues/show_bug.cgi?id=4135 --- Comment #6 from Walter Bright 2011-12-19 10:01:58 PST --- The fix was: https://github.com/D-Programming-Language/dmd/pull/570 -- Configure issuemail: http://d.puremagic.com/issues/userprefs.cgi?tab=email --- You are receiving this mail because: ---
[Issue 4135] Regression(1.034): ICE(statement.c): mixin in bad foreach, D1 only
http://d.puremagic.com/issues/show_bug.cgi?id=4135 Walter Bright changed: What|Removed |Added Status|NEW |RESOLVED CC||bugzi...@digitalmars.com Resolution||FIXED --- Comment #5 from Walter Bright 2011-12-19 10:00:27 PST --- https://github.com/D-Programming-Language/dmd/commit/017697af3ff93383dad0ad085994e3f2aab515d8 -- Configure issuemail: http://d.puremagic.com/issues/userprefs.cgi?tab=email --- You are receiving this mail because: ---
[Issue 7099] static constructor in template mixin in library not executed
http://d.puremagic.com/issues/show_bug.cgi?id=7099 --- Comment #2 from Robert Clipsham 2011-12-19 16:26:59 GMT --- (In reply to comment #1) > Happens on Windows as well. This isn't a regression, it behaves the same way > in > D 1.040. It has never worked. I have no idea how my code used to work then. Weird. -- Configure issuemail: http://d.puremagic.com/issues/userprefs.cgi?tab=email --- You are receiving this mail because: ---
[Issue 7133] [tdpl] There should be no empty statement
http://d.puremagic.com/issues/show_bug.cgi?id=7133 --- Comment #9 from Stewart Gordon 2011-12-19 07:17:31 PST --- (In reply to comment #8) > I think it is useful. This looks odd: > > inti = 2; > for({} i<2; i++){} The ; you're replacing there isn't a statement - it's something explicitly allowed by the ForStatement syntax. ForStatement: for (Initialize Testopt ; Incrementopt) ScopeStatement Initialize: ; NoScopeNonEmptyStatement -- Configure issuemail: http://d.puremagic.com/issues/userprefs.cgi?tab=email --- You are receiving this mail because: ---
[Issue 6940] immutable(int*)*/immutable(int)** and int** do not combine
http://d.puremagic.com/issues/show_bug.cgi?id=6940 Kenji Hara changed: What|Removed |Added Keywords||patch, rejects-valid --- Comment #4 from Kenji Hara 2011-12-19 07:11:36 PST --- https://github.com/D-Programming-Language/dmd/pull/571 -- Configure issuemail: http://d.puremagic.com/issues/userprefs.cgi?tab=email --- You are receiving this mail because: ---
[Issue 7136] alias this lookup should run before merging modifiers of both sides.
http://d.puremagic.com/issues/show_bug.cgi?id=7136 Kenji Hara changed: What|Removed |Added Keywords||patch --- Comment #1 from Kenji Hara 2011-12-19 07:11:57 PST --- https://github.com/D-Programming-Language/dmd/pull/571 -- Configure issuemail: http://d.puremagic.com/issues/userprefs.cgi?tab=email --- You are receiving this mail because: ---
[Issue 6939] wrong type qualifier combination
http://d.puremagic.com/issues/show_bug.cgi?id=6939 Kenji Hara changed: What|Removed |Added Keywords||patch --- Comment #4 from Kenji Hara 2011-12-19 07:11:08 PST --- https://github.com/D-Programming-Language/dmd/pull/571 -- Configure issuemail: http://d.puremagic.com/issues/userprefs.cgi?tab=email --- You are receiving this mail because: ---
[Issue 7133] [tdpl] There should be no empty statement
http://d.puremagic.com/issues/show_bug.cgi?id=7133 timon.g...@gmx.ch changed: What|Removed |Added CC||timon.g...@gmx.ch --- Comment #8 from timon.g...@gmx.ch 2011-12-19 06:23:35 PST --- (In reply to comment #0) > The statement ";" should not exist. It is never needed, never useful, and in > most cases the compiler requires it to be replaced with '{}'. > > Walter and I agreed on all of the above so ";" is not present in TDPL. It > should be slowly deprecated and ultimately removed from D. It is just junk in > the trunk. I think it is useful. This looks odd: inti = 2; for({} i<2; i++){} -- Configure issuemail: http://d.puremagic.com/issues/userprefs.cgi?tab=email --- You are receiving this mail because: ---
[Issue 664] is(func T == function) ignores variadic arguments
http://d.puremagic.com/issues/show_bug.cgi?id=664 --- Comment #7 from Stewart Gordon 2011-12-19 05:23:40 PST --- (In reply to comment #6) > How does that solve the problem? The root cause is that is( ==function) > assumes > that all of the function parameters can be returned in a tuple, but that isn't > true for ... In what way does it make that assumption? > Or do you mean that is( x==function) should be an error if x has a variadic > parameter? Of course not. What would be the point of that? -- Configure issuemail: http://d.puremagic.com/issues/userprefs.cgi?tab=email --- You are receiving this mail because: ---
[Issue 7133] [tdpl] There should be no empty statement
http://d.puremagic.com/issues/show_bug.cgi?id=7133 jakobov...@gmail.com changed: What|Removed |Added CC||jakobov...@gmail.com --- Comment #7 from jakobov...@gmail.com 2011-12-19 05:16:39 PST --- (In reply to comment #3) > I didn't think that that worked, since {} isn't a statement (at least, as far > as I know, it isn't), but if it works, it's certainly better. It is indeed a statement, it's called a block statement, also in D: http://dlang.org/statement.html#BlockStatement -- Configure issuemail: http://d.puremagic.com/issues/userprefs.cgi?tab=email --- You are receiving this mail because: ---
[Issue 7133] [tdpl] There should be no empty statement
http://d.puremagic.com/issues/show_bug.cgi?id=7133 Stewart Gordon changed: What|Removed |Added CC||s...@iname.com Platform|Other |All OS/Version|Mac OS X|All Severity|normal |enhancement --- Comment #6 from Stewart Gordon 2011-12-19 05:07:21 PST --- (In reply to comment #5) > Is that different from C++? I thought that {} was just an empty scope without > any statements in it at all in both C/C++ and D. It is, but in 100% of cases the compiler can optimise away that empty scope and so it's equivalent to an empty statement. -- Configure issuemail: http://d.puremagic.com/issues/userprefs.cgi?tab=email --- You are receiving this mail because: ---
[Issue 664] is(func T == function) ignores variadic arguments
http://d.puremagic.com/issues/show_bug.cgi?id=664 --- Comment #6 from Don 2011-12-19 04:59:44 PST --- (In reply to comment #5) > (3) Have function(char, ...) just not matching function(T) for any value of > T. > ... is a fundamentally different kind of thing from a type, so it doesn't seem > to make sense to allow it as an element of a type tuple. How does that solve the problem? The root cause is that is( ==function) assumes that all of the function parameters can be returned in a tuple, but that isn't true for ... Or do you mean that is( x==function) should be an error if x has a variadic parameter? -- Configure issuemail: http://d.puremagic.com/issues/userprefs.cgi?tab=email --- You are receiving this mail because: ---
[Issue 2235] false unreachable statement in constructor (-w only, D1 only)
http://d.puremagic.com/issues/show_bug.cgi?id=2235 Don changed: What|Removed |Added Keywords|diagnostic | CC||clugd...@yahoo.com.au Summary|false unreachable statement |false unreachable statement |detected, no linenumbers|in constructor (-w only, D1 |shown (-w only, D1 only)|only) --- Comment #2 from Don 2011-12-19 04:45:20 PST --- Bug 2643 has now been fixed, removed "no line numbers shown" from title. Only applies to constructors (doesn't even happen with a destructor). -- Configure issuemail: http://d.puremagic.com/issues/userprefs.cgi?tab=email --- You are receiving this mail because: ---
[Issue 3865] ICE(cgcs.c): Assigning to struct literal member
http://d.puremagic.com/issues/show_bug.cgi?id=3865 Don changed: What|Removed |Added Version|D1 |D1 & D2 Summary|ICE(cgcs.c, D1 only): |ICE(cgcs.c): Assigning to |Assigning to struct literal |struct literal member |member | --- Comment #2 from Don 2011-12-19 04:36:21 PST --- Test case which also applies to D2: struct ICE3865{ int x; } void ice3865() { ICE3865(7).x += 1; } -- Configure issuemail: http://d.puremagic.com/issues/userprefs.cgi?tab=email --- You are receiving this mail because: ---
[Issue 3391] gdb: dynamic arrays and associative arrays are not properly printed
http://d.puremagic.com/issues/show_bug.cgi?id=3391 --- Comment #4 from Leandro Lucarella 2011-12-19 03:53:53 PST --- See https://github.com/D-Programming-Language/dmd/pull/526 -- Configure issuemail: http://d.puremagic.com/issues/userprefs.cgi?tab=email --- You are receiving this mail because: ---
[Issue 7099] static constructor in template mixin in library not executed
http://d.puremagic.com/issues/show_bug.cgi?id=7099 Don changed: What|Removed |Added Keywords||wrong-code CC||clugd...@yahoo.com.au Platform|Other |All Severity|regression |normal --- Comment #1 from Don 2011-12-19 03:36:37 PST --- Happens on Windows as well. This isn't a regression, it behaves the same way in D 1.040. It has never worked. -- Configure issuemail: http://d.puremagic.com/issues/userprefs.cgi?tab=email --- You are receiving this mail because: ---
[Issue 3867] Regression(1.051) forward referenced enum member via an alias, templates, and is(), D1 only
http://d.puremagic.com/issues/show_bug.cgi?id=3867 Don changed: What|Removed |Added Status|NEW |RESOLVED Resolution||FIXED --- Comment #12 from Don 2011-12-19 03:22:47 PST --- Fixed in DMD 1.071, probably as part of the fixes to error gagging. -- Configure issuemail: http://d.puremagic.com/issues/userprefs.cgi?tab=email --- You are receiving this mail because: ---
[Issue 7136] New: alias this lookup should run before merging modifiers of both sides.
http://d.puremagic.com/issues/show_bug.cgi?id=7136 Summary: alias this lookup should run before merging modifiers of both sides. 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 2011-12-19 03:19:30 PST --- Test cases: void test() { struct X { Object get() immutable { return null; } alias get this; } immutable(X) x; Object y; static assert( is(typeof(1?x:y) == Object));// fails static assert(!is(typeof(1?x:y) == const(Object))); // fails struct A { int[] get() immutable { return null; } alias get this; } immutable(A) a; int[] b; static assert( is(typeof(1?a:b) == int[])); // fails static assert(!is(typeof(1?a:b) == const(int[]))); // fails } -- Configure issuemail: http://d.puremagic.com/issues/userprefs.cgi?tab=email --- You are receiving this mail because: ---