[Issue 10970] Segfault in a simple test compiled without -g.
http://d.puremagic.com/issues/show_bug.cgi?id=10970 Kenji Hara k.hara...@gmail.com changed: What|Removed |Added Keywords||pull, wrong-code Platform|x86_64 |All OS/Version|Windows |All --- Comment #16 from Kenji Hara k.hara...@gmail.com 2013-09-21 22:55:10 PDT --- The root cause is a dup of bug 6178. https://github.com/D-Programming-Language/dmd/pull/2539 -- Configure issuemail: http://d.puremagic.com/issues/userprefs.cgi?tab=email --- You are receiving this mail because: ---
[Issue 11086] dmd segfault
http://d.puremagic.com/issues/show_bug.cgi?id=11086 Kenji Hara k.hara...@gmail.com changed: What|Removed |Added Keywords||ice, pull --- Comment #3 from Kenji Hara k.hara...@gmail.com 2013-09-21 23:22:05 PDT --- https://github.com/D-Programming-Language/dmd/pull/2583 -- Configure issuemail: http://d.puremagic.com/issues/userprefs.cgi?tab=email --- You are receiving this mail because: ---
[Issue 7260] g on default in std.regex
http://d.puremagic.com/issues/show_bug.cgi?id=7260 Dmitry Olshansky dmitry.o...@gmail.com changed: What|Removed |Added Status|NEW |RESOLVED Resolution||WONTFIX --- Comment #11 from Dmitry Olshansky dmitry.o...@gmail.com 2013-09-22 01:12:35 PDT --- Flags are to be gone one day and g by default is not going to happen. This IMHO makes it won't fix. Anyhow the core issue should now be addressed by using new API that is more clear. -- Configure issuemail: http://d.puremagic.com/issues/userprefs.cgi?tab=email --- You are receiving this mail because: ---
[Issue 11090] New: Template recursion causes Segfault
http://d.puremagic.com/issues/show_bug.cgi?id=11090 Summary: Template recursion causes Segfault Product: D Version: unspecified Platform: x86_64 OS/Version: Linux Status: NEW Severity: major Priority: P2 Component: DMD AssignedTo: nob...@puremagic.com ReportedBy: daniel...@bigpond.com --- Comment #0 from daniel...@bigpond.com 2013-09-22 01:47:37 PDT --- auto func(A, B)(A a, B b) if (is(func!(A, B))) { return a + b; } void main() { func!(int,int); } Causes a segfault, assumed from some kind of recursion. -- Configure issuemail: http://d.puremagic.com/issues/userprefs.cgi?tab=email --- You are receiving this mail because: ---
[Issue 11086] dmd segfault
http://d.puremagic.com/issues/show_bug.cgi?id=11086 --- Comment #4 from github-bugzi...@puremagic.com 2013-09-22 02:35:39 PDT --- Commits pushed to master at https://github.com/D-Programming-Language/dmd https://github.com/D-Programming-Language/dmd/commit/63473a81679298affd8b1791e20513d07a810ddd fix Issue 11086 - dmd segfault https://github.com/D-Programming-Language/dmd/commit/b1e8e111c2024472f5abd64487f1bff0e32b17e3 Merge pull request #2583 from 9rnsr/fix11086 [REG2.062] Issue 11086 - dmd segfault -- Configure issuemail: http://d.puremagic.com/issues/userprefs.cgi?tab=email --- You are receiving this mail because: ---
[Issue 11086] dmd segfault
http://d.puremagic.com/issues/show_bug.cgi?id=11086 Andrej Mitrovic andrej.mitrov...@gmail.com changed: What|Removed |Added Status|NEW |RESOLVED CC||andrej.mitrov...@gmail.com Resolution||FIXED -- Configure issuemail: http://d.puremagic.com/issues/userprefs.cgi?tab=email --- You are receiving this mail because: ---
[Issue 11091] New: Deduced purity doesn't work?
http://d.puremagic.com/issues/show_bug.cgi?id=11091 Summary: Deduced purity doesn't work? Product: D Version: D2 Platform: All OS/Version: All Status: NEW Severity: normal Priority: P2 Component: DMD AssignedTo: nob...@puremagic.com ReportedBy: simend...@gmail.com --- Comment #0 from simendsjo simend...@gmail.com 2013-09-22 02:49:35 PDT --- Tried running dmd+phobos head at some code, but got errors. This is probably the breaking change: https://github.com/D-Programming-Language/phobos/commit/7714a9c42e2cc8d794a5ee483fdd49d52995b3ac import std.exception; class E: Exception { this(string msg, string file=__FILE__, size_t line=__LINE__) { super(msg, file, line); } } void f() pure { enforceEx!E(true); } void main() { f(); } // Error: pure function 't.f' cannot call impure function 'std.exception.enforceEx!(E).enforceEx!bool.enforceEx -- Configure issuemail: http://d.puremagic.com/issues/userprefs.cgi?tab=email --- You are receiving this mail because: ---
[Issue 5570] 64 bit C ABI not followed for passing structs and complex numbers as function parameters
http://d.puremagic.com/issues/show_bug.cgi?id=5570 --- Comment #40 from Andrej Mitrovic andrej.mitrov...@gmail.com 2013-09-22 02:47:30 PDT --- (In reply to comment #39) This leads to a lot of duplication, for example the authors had to duplicate c bindings just to address this: https://github.com/Jebbs/DSFML-C where they point to this bug. I wonder if as a workaround you could type the prototypes in D as: // note the .tupleof sfWindow* sfWindow_create(VideoMode.tupleof mode, const(char)* title, uint style, const(ContextSettings)* settings); And then call it via: VideoMode vm; sfWindow_create(vm.tupleof, ...); I'd assume this would then properly use the stack? It's worth trying out to avoid any new code duplication, and then when 5570 is finally fixed all you have to do in user code is to remove .tupleof in the calls. -- Configure issuemail: http://d.puremagic.com/issues/userprefs.cgi?tab=email --- You are receiving this mail because: ---
[Issue 11092] New: @commutative annotation for commutative functions
http://d.puremagic.com/issues/show_bug.cgi?id=11092 Summary: @commutative annotation for commutative functions Product: D Version: unspecified Platform: All OS/Version: All Status: NEW Severity: enhancement Priority: P2 Component: druntime AssignedTo: nob...@puremagic.com ReportedBy: daniel...@bigpond.com --- Comment #0 from daniel...@bigpond.com 2013-09-22 03:16:01 PDT --- The title should be self-expressive, for heavily constrained functions, it would be nice to just be able to tag them as commutative rather than spam the identical function prototype with a redirect to original. -- Configure issuemail: http://d.puremagic.com/issues/userprefs.cgi?tab=email --- You are receiving this mail because: ---
[Issue 11069] DMD (github HEAD) Linker Regression
http://d.puremagic.com/issues/show_bug.cgi?id=11069 Temtaime temta...@gmail.com changed: What|Removed |Added CC||temta...@gmail.com --- Comment #2 from Temtaime temta...@gmail.com 2013-09-22 04:11:31 PDT --- Kenji, it's not a full solution. I've make test case from my project. It's too strange test case, but as it is. A.d: import C; import D; void foo() { Vector2 rsm; readWriteVariable(rsm); } void main() { } B.d: import D; import std.algorithm; void bar() { Vector2[] tc; sort(tc); } C.d: import std.traits; void readWriteVariable(T)(ref T data) { foreach(it; __traits(allMembers, T)) enum vValid = mixin(`is(FunctionTypeOf!(T.` ~ it ~ `) == function)`); } D.d: struct Matrix(T, uint _M) { int opCmp()(auto ref in Matrix b) const { return 0; } pure auto opDispatch(string s)() { enum L = s.length; Matrix!(T, L) ret; return ret; } pure Matrix normalized() { return Matrix(); } } alias Matrix!(float, 2) Vector2; Problem exists only if files compiled into single objs and then linked together. dmd A -c dmd b -c dmd c -c dmd d -c dmd a.obj b.obj c.obj d.obj Error 42: Symbol Undefined _D1D16__T6MatrixTfVi2Z6Matrix8__xopCmpFKxS1D16__T6Ma trixTfVi2Z6MatrixKxS1D16__T6MatrixTfVi2Z6MatrixZi b.obj(b) Error 42: Symbol Undefined _D1D16__T6MatrixTfVk8Z6Matrix8__xopCmpFKxS1D16__T6Ma trixTfVk8Z6MatrixKxS1D16__T6MatrixTfVk8Z6MatrixZi b.obj(b) Error 42: Symbol Undefined _D1D16__T6MatrixTfVk6Z6Matrix8__xopCmpFKxS1D16__T6Ma trixTfVk6Z6MatrixKxS1D16__T6MatrixTfVk6Z6MatrixZi b.obj(b) Error 42: Symbol Undefined _D1D16__T6MatrixTfVk9Z6Matrix8__xopCmpFKxS1D16__T6Ma trixTfVk9Z6MatrixKxS1D16__T6MatrixTfVk9Z6MatrixZi If something is removed from test case, then linking is ok. -- Configure issuemail: http://d.puremagic.com/issues/userprefs.cgi?tab=email --- You are receiving this mail because: ---
[Issue 11091] Deduced purity doesn't work?
http://d.puremagic.com/issues/show_bug.cgi?id=11091 Kenji Hara k.hara...@gmail.com changed: What|Removed |Added Status|NEW |RESOLVED Resolution||INVALID --- Comment #1 from Kenji Hara k.hara...@gmail.com 2013-09-22 04:15:34 PDT --- This is expected change in git-head, introduced by fixing bug 10254. In the OP code, the constructor in E is not annotated with pure. So, the expression object creation new E(msg) is essentially impure. But in 2.063 and earlier, NewExpression had wrongly ignored the called constructor purity and safety (== bug 10254). Then enforceEx!E had been also incorrectly deduced to pure. -- Configure issuemail: http://d.puremagic.com/issues/userprefs.cgi?tab=email --- You are receiving this mail because: ---
[Issue 11092] @commutative annotation for commutative functions
http://d.puremagic.com/issues/show_bug.cgi?id=11092 bearophile_h...@eml.cc changed: What|Removed |Added CC||bearophile_h...@eml.cc --- Comment #1 from bearophile_h...@eml.cc 2013-09-22 04:22:47 PDT --- (In reply to comment #0) The title should be self-expressive, This is an enhancement request, so the title is never self-expressive: - What are some use cases? - What are the limits? - Do you mean just functions with two arguments? - What if one, the other or both arguments have a default value? - What about testing. QuickCheck-like tools for D would enjoy to know what functions are annotated with such @commutative, to test at run-time they are actually commutative. For this std.traits.functionAttributes will need to take into account @commutative functions too. More notes: - std.functional.memoize could detect a @commutative function and sometimes reduce the memory usage of its associative array. -- Configure issuemail: http://d.puremagic.com/issues/userprefs.cgi?tab=email --- You are receiving this mail because: ---
[Issue 11093] New: Can't compile DMD with VS12
http://d.puremagic.com/issues/show_bug.cgi?id=11093 Summary: Can't compile DMD with VS12 Product: D Version: D2 Platform: All OS/Version: Windows Status: NEW Severity: blocker Priority: P2 Component: DMD AssignedTo: nob...@puremagic.com ReportedBy: temta...@gmail.com --- Comment #0 from Temtaime temta...@gmail.com 2013-09-22 04:21:34 PDT --- code * __pascal cat (code *c1 , code *c2 ); backend\code.h(514) : error C2146: syntax error : missing ';' before identifier 'cat' backend\code.h(514) : error C4430: missing type specifier - int assumed. Note: C++ does not support default-int Resolution: Change in code.h:514: FROM code * __pascal cat (code *c1 , code *c2 ); TO code * cat (code *c1 , code *c2 ); And in cgen.c:95 FROM #if TX86 __INTSIZE == 4 __SC__ __declspec(naked) code * __pascal cat(code *c1,code *c2) { _asm { mov EAX,c1-4[ESP] mov ECX,c2-4[ESP] testEAX,EAX jne L6D mov EAX,ECX ret 8 L6D:mov EDX,EAX cmp dword ptr [EAX],0 je L7B L74:mov EDX,[EDX] cmp dword ptr [EDX],0 jne L74 L7B:mov [EDX],ECX ret 8 } } #else code * __pascal cat(code *c1,code *c2) { code **pc; if (!c1) return c2; for (pc = code_next(c1); *pc; pc = code_next(*pc)) ; *pc = c2; return c1; } #endif TO code * cat(code *c1,code *c2) { code **pc; if (!c1) return c2; for (pc = code_next(c1); *pc; pc = code_next(*pc)) ; *pc = c2; return c1; } -- Configure issuemail: http://d.puremagic.com/issues/userprefs.cgi?tab=email --- You are receiving this mail because: ---
[Issue 11094] New: Disuniform error messages with overloaded + and ^ operators
http://d.puremagic.com/issues/show_bug.cgi?id=11094 Summary: Disuniform error messages with overloaded + and ^ operators Product: D Version: D2 Platform: x86 OS/Version: Windows Status: NEW Keywords: diagnostic Severity: minor Priority: P2 Component: DMD AssignedTo: nob...@puremagic.com ReportedBy: bearophile_h...@eml.cc --- Comment #0 from bearophile_h...@eml.cc 2013-09-22 04:41:14 PDT --- With DMD 2.064alpha this code gives no errors, it seems correct: struct Foo { Foo opBinary(string op)(in Foo r) inout if (op == +) { return Foo(); } Foo opBinary(string op)(in Foo r) inout if (op == ^) { return Foo(); } } void main() { const x = Foo(); auto r1 = x + Foo(); auto r2 = x ^ Foo(); } But if I forget the inouts: struct Foo { Foo opBinary(string op)(in Foo r) if (op == +) { return Foo(); } Foo opBinary(string op)(in Foo r) if (op == ^) { return Foo(); } } void main() { const x = Foo(); auto r1 = x + Foo(); auto r2 = x ^ Foo(); } DMD gives: test.d(11): Error: incompatible types for ((x) + (Foo())): 'const(Foo)' and 'Foo' test.d(12): Error: 'x' is not of integral type, it is a const(Foo) test.d(12): Error: 'Foo()' is not of integral type, it is a Foo I suggest: - To give only one error message for the ^ case; - To give the same error messages for both + and ^; - Perhaps the error message could explain better the problem, or/and perhaps it could suggest the use of 'inout'. -- Configure issuemail: http://d.puremagic.com/issues/userprefs.cgi?tab=email --- You are receiving this mail because: ---
[Issue 11093] Can't compile DMD with VS12
http://d.puremagic.com/issues/show_bug.cgi?id=11093 bearophile_h...@eml.cc changed: What|Removed |Added CC||bearophile_h...@eml.cc --- Comment #1 from bearophile_h...@eml.cc 2013-09-22 05:23:04 PDT --- 'blocker' is the highest importance for a bug. Why is compiling dmd with VS12 so important? -- Configure issuemail: http://d.puremagic.com/issues/userprefs.cgi?tab=email --- You are receiving this mail because: ---
[Issue 11093] Can't compile DMD with VS12
http://d.puremagic.com/issues/show_bug.cgi?id=11093 Temtaime temta...@gmail.com changed: What|Removed |Added Severity|blocker |enhancement --- Comment #2 from Temtaime temta...@gmail.com 2013-09-22 05:24:52 PDT --- It's not so important, but it's a blocker. But ok, i chanded this. -- Configure issuemail: http://d.puremagic.com/issues/userprefs.cgi?tab=email --- You are receiving this mail because: ---
[Issue 11095] New: mixed in mixin templates not instantiated in templates?
http://d.puremagic.com/issues/show_bug.cgi?id=11095 Summary: mixed in mixin templates not instantiated in templates? Product: D Version: D2 Platform: All OS/Version: All Status: NEW Severity: normal Priority: P2 Component: DMD AssignedTo: nob...@puremagic.com ReportedBy: simend...@gmail.com --- Comment #0 from simendsjo simend...@gmail.com 2013-09-22 05:38:24 PDT --- Using dmd head mixin template B() { enum A = true; } template A() { mixin B; // shouldn't this just insert B? } template C() { enum C = true; } void main() { static assert(C!() == true); // ok static assert(A!() == true); } t.d(17): Error: void has no value t.d(17): Error: incompatible types for ((A!()) == (true)): 'void' and 'bool' -- Configure issuemail: http://d.puremagic.com/issues/userprefs.cgi?tab=email --- You are receiving this mail because: ---
[Issue 11097] New: Add version of std.algorithm.group that returns group ranges
http://d.puremagic.com/issues/show_bug.cgi?id=11097 Summary: Add version of std.algorithm.group that returns group ranges Product: D Version: D2 Platform: All OS/Version: All Status: NEW Severity: enhancement Priority: P2 Component: Phobos AssignedTo: nob...@puremagic.com ReportedBy: peter.alexander...@gmail.com --- Comment #0 from Peter Alexander peter.alexander...@gmail.com 2013-09-22 05:58:50 PDT --- std.algorithm.group returns a range of (elem, count) tuples: int[] arr = [ 1, 2, 2, 2, 2, 3, 4, 4, 4, 5 ]; assert(equal(group(arr), [ tuple(1, 1u), tuple(2, 4u), tuple(3, 1u), tuple(4, 3u), tuple(5, 1u) ][])); This is fine when the predicate is equality, but when the predicate is something else, the tuple is less useful. Here's an example of grouping strings by first character: string[] arr = [ Alice, Andrew, Ben, Bob ]; assert(equal(group!(a.front == b.front)(arr), [ tuple(Alice, 2), tuple(Ben, 2) ])); This isn't very useful because there aren't two Alice's and two Ben's. Alice and Ben are just one element from the group (btw, the documentation doesn't indicate that it is always the first element in the group that is returned). It would be nice if there was a version of the algorithm that returned the groups themselves, working like this: string[] arr = [ Alice, Andrew, Ben, Bob ]; assert(equal(groups!(a.front == b.front)(arr), [ [Alice, Andrew], [Ben, Bob] ])); I have used the identifier groups here. I'm not bothered what it is called. Once implemented, group may be elegantly implemented in terms of groups: auto group(alias f, R)(R r) { return groups!(f)(r).map!(g = tuple(g.front, g.walkLength)); } -- Configure issuemail: http://d.puremagic.com/issues/userprefs.cgi?tab=email --- You are receiving this mail because: ---
[Issue 11096] New: mixin templates are not regular templates
http://d.puremagic.com/issues/show_bug.cgi?id=11096 Summary: mixin templates are not regular templates Product: D Version: D2 Platform: All OS/Version: All Status: NEW Severity: regression Priority: P2 Component: DMD AssignedTo: nob...@puremagic.com ReportedBy: simend...@gmail.com --- Comment #0 from simendsjo simend...@gmail.com 2013-09-22 05:56:23 PDT --- I get this error with dmd head: t.d(4): Error: template instance A!() mixin templates are not regular templates t.d(4): Error: Cannot interpret A() at compile time t.d(4):while evaluating pragma(msg, A) mixin template A() { } void main() { pragma(msg, A); } Didn't break in 2.063.2. -- Configure issuemail: http://d.puremagic.com/issues/userprefs.cgi?tab=email --- You are receiving this mail because: ---
[Issue 11097] Add version of std.algorithm.group that returns group ranges
http://d.puremagic.com/issues/show_bug.cgi?id=11097 bearophile_h...@eml.cc changed: What|Removed |Added CC||bearophile_h...@eml.cc --- Comment #1 from bearophile_h...@eml.cc 2013-09-22 06:56:42 PDT --- This good idea (that makes group more similar to the Python groupby) was discussed several times in past (even by Andrei), so I suggest you to search if this is already in Bugzilla. -- Configure issuemail: http://d.puremagic.com/issues/userprefs.cgi?tab=email --- You are receiving this mail because: ---
[Issue 11098] New: template instance x cannot use local y as parameter to non-global template z
http://d.puremagic.com/issues/show_bug.cgi?id=11098 Summary: template instance x cannot use local y as parameter to non-global template z Product: D Version: D2 Platform: All OS/Version: All Status: NEW Severity: normal Priority: P2 Component: DMD AssignedTo: nob...@puremagic.com ReportedBy: simend...@gmail.com --- Comment #0 from simendsjo simend...@gmail.com 2013-09-22 07:04:24 PDT --- Using dmd head. template A(T...) { template B(alias T) { } } void main() { void fv() {} alias A!(fv) F; F.B!F; } t.d(8): Error: template instance B!(A!(fv)) cannot use local 'A!(fv)' as parameter to non-global template B(alias T) -- Configure issuemail: http://d.puremagic.com/issues/userprefs.cgi?tab=email --- You are receiving this mail because: ---
[Issue 11099] New: Diagnostic for mixed-in symbols should not reference the mixin template
http://d.puremagic.com/issues/show_bug.cgi?id=11099 Summary: Diagnostic for mixed-in symbols should not reference the mixin template Product: D Version: D2 Platform: All OS/Version: All Status: NEW Keywords: diagnostic Severity: enhancement Priority: P2 Component: druntime AssignedTo: nob...@puremagic.com ReportedBy: andrej.mitrov...@gmail.com --- Comment #0 from Andrej Mitrovic andrej.mitrov...@gmail.com 2013-09-22 07:19:02 PDT --- - mixin template Helpers(int x) { @disable void foo() { } } struct S { mixin Helpers!16; } void main() { S s; s.foo(); } - $ dmd test.d test.d(14): Error: function test.S.Helpers!16.foo is not callable because it is annotated with @disable Because of these diagnostics using a template mixin introduces a really bad user experience. The user shouldn't have to know that a struct implements a function using a mixin template. The diagnostic should be: - test.d(14): Error: function test.S.foo is not callable because it is annotated with @disable - Currently we're forced to use string mixins to achieve the same effect: - string Helpers(int x)() { return q{ @disable void foo() { } }; } struct S { mixin(Helpers!16()); } void main() { S s; s.foo(); } - $ dmd test.d test.d(16): Error: function test.S.foo is not callable because it is annotated with @disable But mixin templates are supposed to be used exactly for this purpose, for mixing in declarations rather than arbitrary code. -- Configure issuemail: http://d.puremagic.com/issues/userprefs.cgi?tab=email --- You are receiving this mail because: ---
[Issue 11097] Add version of std.algorithm.group that returns group ranges
http://d.puremagic.com/issues/show_bug.cgi?id=11097 Peter Alexander peter.alexander...@gmail.com changed: What|Removed |Added Status|NEW |RESOLVED Resolution||DUPLICATE --- Comment #2 from Peter Alexander peter.alexander...@gmail.com 2013-09-22 07:17:04 PDT --- *** This issue has been marked as a duplicate of issue 5968 *** -- Configure issuemail: http://d.puremagic.com/issues/userprefs.cgi?tab=email --- You are receiving this mail because: ---
[Issue 5968] std.algorithm.group by key function + groupFull
http://d.puremagic.com/issues/show_bug.cgi?id=5968 Peter Alexander peter.alexander...@gmail.com changed: What|Removed |Added CC||peter.alexander...@gmail.co ||m --- Comment #2 from Peter Alexander peter.alexander...@gmail.com 2013-09-22 07:17:04 PDT --- *** Issue 11097 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 11069] DMD (github HEAD) Linker Regression
http://d.puremagic.com/issues/show_bug.cgi?id=11069 --- Comment #3 from Kenji Hara k.hara...@gmail.com 2013-09-22 08:03:50 PDT --- (In reply to comment #2) Error 42: Symbol Undefined _D1D16__T6MatrixTfVi2Z6Matrix8__xopCmpFKxS1D16__T6Ma trixTfVi2Z6MatrixKxS1D16__T6MatrixTfVi2Z6MatrixZi b.obj(b) Error 42: Symbol Undefined _D1D16__T6MatrixTfVk8Z6Matrix8__xopCmpFKxS1D16__T6Ma trixTfVk8Z6MatrixKxS1D16__T6MatrixTfVk8Z6MatrixZi b.obj(b) Error 42: Symbol Undefined _D1D16__T6MatrixTfVk6Z6Matrix8__xopCmpFKxS1D16__T6Ma trixTfVk6Z6MatrixKxS1D16__T6MatrixTfVk6Z6MatrixZi b.obj(b) Error 42: Symbol Undefined _D1D16__T6MatrixTfVk9Z6Matrix8__xopCmpFKxS1D16__T6Ma trixTfVk9Z6MatrixKxS1D16__T6MatrixTfVk9Z6MatrixZi OK, I confirmed the issue. And updated the PR to fix it. -- Configure issuemail: http://d.puremagic.com/issues/userprefs.cgi?tab=email --- You are receiving this mail because: ---
[Issue 11096] mixin templates are not regular templates
http://d.puremagic.com/issues/show_bug.cgi?id=11096 Kenji Hara k.hara...@gmail.com changed: What|Removed |Added Keywords||pull, rejects-valid --- Comment #1 from Kenji Hara k.hara...@gmail.com 2013-09-22 08:05:30 PDT --- https://github.com/D-Programming-Language/dmd/pull/2584 -- Configure issuemail: http://d.puremagic.com/issues/userprefs.cgi?tab=email --- You are receiving this mail because: ---
[Issue 11100] New: (T!int).stringof changes
http://d.puremagic.com/issues/show_bug.cgi?id=11100 Summary: (T!int).stringof changes Product: D Version: D2 Platform: All OS/Version: All Status: NEW Severity: regression Priority: P2 Component: DMD AssignedTo: nob...@puremagic.com ReportedBy: simend...@gmail.com --- Comment #0 from simendsjo simend...@gmail.com 2013-09-22 08:36:21 PDT --- In 2.063.2, (T!int).stringof == T!(int). In current head, it's T!int. Even (T!(int)).stringof == T!int. Is this a regression bug or a bugfix? -- Configure issuemail: http://d.puremagic.com/issues/userprefs.cgi?tab=email --- You are receiving this mail because: ---
[Issue 11100] (T!int).stringof changes
http://d.puremagic.com/issues/show_bug.cgi?id=11100 Andrej Mitrovic andrej.mitrov...@gmail.com changed: What|Removed |Added CC||andrej.mitrov...@gmail.com --- Comment #1 from Andrej Mitrovic andrej.mitrov...@gmail.com 2013-09-22 08:42:10 PDT --- It's an enhancement, see: Issue 10334. -- Configure issuemail: http://d.puremagic.com/issues/userprefs.cgi?tab=email --- You are receiving this mail because: ---
[Issue 10595] Using alias this and a hash generates wrong code
http://d.puremagic.com/issues/show_bug.cgi?id=10595 Kenji Hara k.hara...@gmail.com changed: What|Removed |Added Keywords||pull --- Comment #1 from Kenji Hara k.hara...@gmail.com 2013-09-22 10:42:55 PDT --- https://github.com/D-Programming-Language/dmd/pull/2539 -- Configure issuemail: http://d.puremagic.com/issues/userprefs.cgi?tab=email --- You are receiving this mail because: ---
[Issue 5822] Segfault when adding File to an Associative array
http://d.puremagic.com/issues/show_bug.cgi?id=5822 Kenji Hara k.hara...@gmail.com changed: What|Removed |Added Status|NEW |RESOLVED Resolution||DUPLICATE --- Comment #1 from Kenji Hara k.hara...@gmail.com 2013-09-22 10:47:51 PDT --- *** This issue has been marked as a duplicate of issue 6178 *** -- Configure issuemail: http://d.puremagic.com/issues/userprefs.cgi?tab=email --- You are receiving this mail because: ---
[Issue 6178] Struct inside the AA are not init correctly
http://d.puremagic.com/issues/show_bug.cgi?id=6178 --- Comment #23 from Kenji Hara k.hara...@gmail.com 2013-09-22 10:47:51 PDT --- *** Issue 5822 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 6178] Struct inside the AA are not init correctly
http://d.puremagic.com/issues/show_bug.cgi?id=6178 Kenji Hara k.hara...@gmail.com changed: What|Removed |Added CC||juhon...@gmail.com --- Comment #24 from Kenji Hara k.hara...@gmail.com 2013-09-22 10:51:54 PDT --- *** Issue 8170 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 11101] Invalid enum member overflow message
http://d.puremagic.com/issues/show_bug.cgi?id=11101 Maxim Fomin ma...@maxim-fomin.ru changed: What|Removed |Added CC||ma...@maxim-fomin.ru --- Comment #1 from Maxim Fomin ma...@maxim-fomin.ru 2013-09-22 10:54:27 PDT --- Citing spec: If the EnumBaseType is not explicitly set, and the first EnumMember has an initializer, it is set to the type of that initializer. Otherwise, it defaults to type int. Since second enum is not explicitly based on int and has first enum initializer, that's why type of second enum is deduced to be GTokenType and overflow occures as the first enum has single member. So, according to current spec this is RESOLVED-INVALID. On the other hand, nothing stops from allowing such code for facilitation purposes by fixing spec. -- Configure issuemail: http://d.puremagic.com/issues/userprefs.cgi?tab=email --- You are receiving this mail because: ---
[Issue 11057] [REG2.064dev] New std.uni has icmp() partly broken
http://d.puremagic.com/issues/show_bug.cgi?id=11057 Dmitry Olshansky dmitry.o...@gmail.com changed: What|Removed |Added Keywords|wrong-code |pull --- Comment #1 from Dmitry Olshansky dmitry.o...@gmail.com 2013-09-22 10:56:07 PDT --- This is not wrong-code, that keyword is reserved for the compiler. Pull: https://github.com/D-Programming-Language/phobos/pull/1594 -- Configure issuemail: http://d.puremagic.com/issues/userprefs.cgi?tab=email --- You are receiving this mail because: ---
[Issue 10720] ICE with is(aaOfNonCopyableStruct.nonExistingField)
http://d.puremagic.com/issues/show_bug.cgi?id=10720 Kenji Hara k.hara...@gmail.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 11081] Win64: duplicate COMDAT with failed compilation with lambdas
http://d.puremagic.com/issues/show_bug.cgi?id=11081 --- Comment #3 from github-bugzi...@puremagic.com 2013-09-22 11:47:58 PDT --- Commits pushed to master at https://github.com/D-Programming-Language/dmd https://github.com/D-Programming-Language/dmd/commit/e1ed2905b2b7e996a4154d079fd8a8660424b5af fix Issue 11081 - Win64: duplicate COMDAT with failed compilation with lambdas https://github.com/D-Programming-Language/dmd/commit/4981236072fc4625b959d9146d073e808436f334 Merge pull request #2579 from 9rnsr/fix11081 [REG2.064a] Issue 11081 - Win64: duplicate COMDAT with failed compilation with lambdas -- Configure issuemail: http://d.puremagic.com/issues/userprefs.cgi?tab=email --- You are receiving this mail because: ---
[Issue 11102] New: [ddoc] stray ( / ) without line or column numbers
http://d.puremagic.com/issues/show_bug.cgi?id=11102 Summary: [ddoc] stray ( / ) without line or column numbers Product: D Version: D2 Platform: All OS/Version: All Status: NEW Severity: normal Priority: P2 Component: DMD AssignedTo: nob...@puremagic.com ReportedBy: simend...@gmail.com --- Comment #0 from simendsjo simend...@gmail.com 2013-09-22 12:28:47 PDT --- Using dmd head Warning: Ddoc: Stray '('. This may cause incorrect Ddoc output. Use $(LPAREN) instead for unpaired left parentheses. Without any indication of where this might be, it's very difficult to locate. -- Configure issuemail: http://d.puremagic.com/issues/userprefs.cgi?tab=email --- You are receiving this mail because: ---
[Issue 10717] std.ascii.toLower and toUpper should return char instead of dchar and avoid me to use a bad cast(char)
http://d.puremagic.com/issues/show_bug.cgi?id=10717 --- Comment #9 from github-bugzi...@puremagic.com 2013-09-22 12:43:57 PDT --- Commits pushed to master at https://github.com/D-Programming-Language/phobos https://github.com/D-Programming-Language/phobos/commit/978250b3aa23b87f08c37dccb7642f5c77c15561 Fix Issue 10717 - std.ascii.toLower and toUpper should return char instead of dchar and avoid me to use a bad cast(char) It turns out it was incorrectly working for enum types. New semantics are that enums are also accepted, and their OriginalType is returned. https://github.com/D-Programming-Language/phobos/commit/f621b5692f575fc83ec588d10d93dbb222709663 Merge pull request #1581 from monarchdodra/asciiToUpper Fix Issue 10717 - std.ascii.toLower and toUpper should return char inste... -- Configure issuemail: http://d.puremagic.com/issues/userprefs.cgi?tab=email --- You are receiving this mail because: ---
[Issue 10595] Using alias this and a hash generates wrong code
http://d.puremagic.com/issues/show_bug.cgi?id=10595 --- Comment #2 from github-bugzi...@puremagic.com 2013-09-22 13:04:29 PDT --- Commit pushed to master at https://github.com/D-Programming-Language/dmd https://github.com/D-Programming-Language/dmd/commit/0c965af287534093c0282480019b5d8749046357 fix Issue 10595 - Using alias this and a hash generates wrong code -- Configure issuemail: http://d.puremagic.com/issues/userprefs.cgi?tab=email --- You are receiving this mail because: ---
[Issue 10970] Segfault in a simple test compiled without -g.
http://d.puremagic.com/issues/show_bug.cgi?id=10970 --- Comment #17 from github-bugzi...@puremagic.com 2013-09-22 13:04:32 PDT --- Commit pushed to master at https://github.com/D-Programming-Language/dmd https://github.com/D-Programming-Language/dmd/commit/36a44cbcea9fbb18b221f77e00f2dca77f21bc88 fix Issue 10970 - Segfault in a simple test compiled without -g. Fixes `CondExp::toElem` to avoid Internal error: backend\cgcs.c 351 -- Configure issuemail: http://d.puremagic.com/issues/userprefs.cgi?tab=email --- You are receiving this mail because: ---
[Issue 11101] Invalid enum member overflow message
http://d.puremagic.com/issues/show_bug.cgi?id=11101 --- Comment #2 from Mike Wey mike-...@planet.nl 2013-09-22 13:11:20 PDT --- That would be a valid explanation only the following compiles successfully: public enum GTokenType { EOF = 0, LEFT_PAREN = '(', RIGHT_PAREN = ')', LEFT_CURLY = '{', RIGHT_CURLY = '}', LEFT_BRACE = '[', RIGHT_BRACE = ']', EQUAL_SIGN = '=', COMMA = ',', NONE = 110, ERROR, CHAR, BINARY, OCTAL, INT, HEX, FLOAT, STRING, SYMBOL, IDENTIFIER, IDENTIFIER_NULL, COMMENT_SINGLE, COMMENT_MULTI, LAST } public enum GtkRcTokenType { INVALID = GTokenType.LAST, INCLUDE, } If the value of NONE is larger than 110 it fails to compile. -- Configure issuemail: http://d.puremagic.com/issues/userprefs.cgi?tab=email --- You are receiving this mail because: ---
[Issue 6178] Struct inside the AA are not init correctly
http://d.puremagic.com/issues/show_bug.cgi?id=6178 Walter Bright bugzi...@digitalmars.com changed: What|Removed |Added Status|NEW |RESOLVED CC||bugzi...@digitalmars.com Resolution||FIXED -- Configure issuemail: http://d.puremagic.com/issues/userprefs.cgi?tab=email --- You are receiving this mail because: ---
[Issue 11103] New: w and d suffix for char literals too
http://d.puremagic.com/issues/show_bug.cgi?id=11103 Summary: w and d suffix for char literals too Product: D Version: D2 Platform: All OS/Version: All Status: NEW Severity: enhancement Priority: P2 Component: DMD AssignedTo: nob...@puremagic.com ReportedBy: bearophile_h...@eml.cc --- Comment #0 from bearophile_h...@eml.cc 2013-09-22 14:57:28 PDT --- A low priority enhancement request. String literals support the c w d suffix to specify their type: void main() { auto s1 = helloc; auto s2 = hellow; auto s3 = hellod; } For wchars/dchars you could use a cast: void main() { auto c1 ='X'; auto c2 = cast(wchar)'X'; auto c3 = cast(dchar)'X'; } But I suggest to support the same string suffixes: void main() { auto c1 = 'X'; auto c2 = 'X'w; static assert(is(typeof(c2) == wchar)); auto c3 = 'X'd; static assert(is(typeof(c3) == dchar)); } This has some advantages: - It's shorter than a cast, it takes only 1 extra char. - During debugging and in other situations I search for the cast( string in my code, because sometimes casts are where bugs are. Removing the need to use cast() for dchars/wchars removes some noise from that search. - Those suffixes are not hard to learn for a D programmer because they are the same for strings. And I think this change is backwards compatible. Disadvantages: - It's not a very common need; - Unlike the situation with strings where you can't use a cast, the cast(wchar)/cast(dchar) work fine on chars. One use case: import std.algorithm: map, joiner; import std.string: text; void main() { string r = [1, 2] .map!(x = [1, 2].map!(y = cast(dchar)'*')) .joiner(_) .text; } -- Configure issuemail: http://d.puremagic.com/issues/userprefs.cgi?tab=email --- You are receiving this mail because: ---
[Issue 11101] Invalid enum member overflow message
http://d.puremagic.com/issues/show_bug.cgi?id=11101 Walter Bright bugzi...@digitalmars.com changed: What|Removed |Added Status|NEW |RESOLVED Resolution||INVALID --- Comment #3 from Walter Bright bugzi...@digitalmars.com 2013-09-22 17:20:11 PDT --- It should fail to compile with NONE larger than 110. The algorithm is if GTokenType.LAST==GTokenType.max, then attempting to calculate GTokenType.LAST+1 overflows it. To get what you are looking for, use: enum GtkRcTokenType { INVALID = GTokenType.LAST + 1, INCLUDE, } which will compile successfully. -- Configure issuemail: http://d.puremagic.com/issues/userprefs.cgi?tab=email --- You are receiving this mail because: ---
[Issue 5570] 64 bit C ABI not followed for passing structs and complex numbers as function parameters
http://d.puremagic.com/issues/show_bug.cgi?id=5570 --- Comment #41 from thelastmamm...@gmail.com 2013-09-22 20:07:53 PDT --- (In reply to comment #40) (In reply to comment #39) This leads to a lot of duplication, for example the authors had to duplicate c bindings just to address this: https://github.com/Jebbs/DSFML-C where they point to this bug. I wonder if as a workaround you could type the prototypes in D as: // note the .tupleof sfWindow* sfWindow_create(VideoMode.tupleof mode, const(char)* title, uint style, const(ContextSettings)* settings); corrected that to sfWindow_create(typeof(VideoMode.tupleof), ...) And then call it via: VideoMode vm; sfWindow_create(vm.tupleof, ...); still segfaults I'd assume this would then properly use the stack? It's worth trying out to avoid any new code duplication, and then when 5570 is finally fixed all you have to do in user code is to remove .tupleof in the calls. so far my (sad) woraround is to add a new C function that takes a pointer to the struct, and link against it. -- Configure issuemail: http://d.puremagic.com/issues/userprefs.cgi?tab=email --- You are receiving this mail because: ---
[Issue 10993] mangling of voldemort types with lambdas changes during return type inference
http://d.puremagic.com/issues/show_bug.cgi?id=10993 Kenji Hara k.hara...@gmail.com changed: What|Removed |Added Keywords||pull, wrong-code Status|NEW |RESOLVED Resolution||FIXED -- Configure issuemail: http://d.puremagic.com/issues/userprefs.cgi?tab=email --- You are receiving this mail because: ---
[Issue 11104] New: Document exact behavior of structsasd initialization inside AA
http://d.puremagic.com/issues/show_bug.cgi?id=11104 Summary: Document exact behavior of structsasd initialization inside AA Product: D Version: D2 Platform: All OS/Version: All Status: NEW Keywords: spec Severity: normal Priority: P2 Component: websites AssignedTo: nob...@puremagic.com ReportedBy: verylonglogin@gmail.com --- Comment #0 from Denis Shelomovskij verylonglogin@gmail.com 2013-09-23 09:03:51 MSD --- Fixed AA issue is Issue 6178. So changes from dmd pull [1] have to be documented. [1] https://github.com/D-Programming-Language/dmd/pull/2539 -- Configure issuemail: http://d.puremagic.com/issues/userprefs.cgi?tab=email --- You are receiving this mail because: ---
[Issue 11081] Win64: duplicate COMDAT with failed compilation with lambdas
http://d.puremagic.com/issues/show_bug.cgi?id=11081 Kenji Hara k.hara...@gmail.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 10970] Segfault in a simple test compiled without -g.
http://d.puremagic.com/issues/show_bug.cgi?id=10970 Kenji Hara k.hara...@gmail.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: ---