[Issue 11863] std.conv.to!string(int/uint, radix) returns incorrect string
https://d.puremagic.com/issues/show_bug.cgi?id=11863 --- Comment #6 from github-bugzi...@puremagic.com 2014-01-07 00:09:55 PST --- Commits pushed to master at https://github.com/D-Programming-Language/dmd https://github.com/D-Programming-Language/dmd/commit/4c846a263a7e94c0966ef66a0e0fc4adda58c737 fix Issue 11863 - std.conv.to!string(int/uint, radix) returns incorrect string https://github.com/D-Programming-Language/dmd/commit/6090f4599b4da0a642796c1d2655a26f0ce99b17 Merge pull request #3069 from 9rnsr/fix11863 [REG2.064] Issue 11863 - std.conv.to!string(int/uint, radix) returns incorrect string -- Configure issuemail: https://d.puremagic.com/issues/userprefs.cgi?tab=email --- You are receiving this mail because: ---
[Issue 11863] std.conv.to!string(int/uint, radix) returns incorrect string
https://d.puremagic.com/issues/show_bug.cgi?id=11863 monarchdo...@gmail.com changed: What|Removed |Added Status|NEW |RESOLVED Resolution||FIXED --- Comment #7 from monarchdo...@gmail.com 2014-01-07 00:48:34 PST --- Resolved. Thanks a lot Kenji! -- Configure issuemail: https://d.puremagic.com/issues/userprefs.cgi?tab=email --- You are receiving this mail because: ---
[Issue 7903] [TDPL] public member variables are supposed to be illegal in synchronized classes
https://d.puremagic.com/issues/show_bug.cgi?id=7903 --- Comment #5 from Andrej Mitrovic andrej.mitrov...@gmail.com 2014-01-07 00:54:54 PST --- (In reply to comment #4) The spec is the spec, not TDPL, so these should be accompanied by a pull request on the spec. As soon as we have a passing and merged pull I'll make an accompanying pull. Otherwise there's not much point in making two pulls when one of the pulls might take months to merge (forcing the dev to rebase two pulls instead of just one). -- Configure issuemail: https://d.puremagic.com/issues/userprefs.cgi?tab=email --- You are receiving this mail because: ---
[Issue 3672] [tdpl] read-modify-write (rmw) operators must be disabled for shared
https://d.puremagic.com/issues/show_bug.cgi?id=3672 Andrej Mitrovic andrej.mitrov...@gmail.com changed: What|Removed |Added Keywords||pull AssignedTo|nob...@puremagic.com|andrej.mitrov...@gmail.com --- Comment #6 from Andrej Mitrovic andrej.mitrov...@gmail.com 2014-01-07 00:57:13 PST --- https://github.com/D-Programming-Language/dmd/pull/3070 -- Configure issuemail: https://d.puremagic.com/issues/userprefs.cgi?tab=email --- You are receiving this mail because: ---
[Issue 11844] ICE(template.c:6643) Assertion failed: (td-semanticRun != PASSinit)
https://d.puremagic.com/issues/show_bug.cgi?id=11844 Kenji Hara k.hara...@gmail.com changed: What|Removed |Added Severity|normal |regression --- Comment #3 from Kenji Hara k.hara...@gmail.com 2014-01-07 02:23:00 PST --- This was a regression issue from 2.064. -- Configure issuemail: https://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
https://d.puremagic.com/issues/show_bug.cgi?id=1001 --- Comment #69 from Martin Nowak c...@dawg.eu 2014-01-07 02:20:21 PST --- (In reply to comment #67) Putting a null pointer dereference into try/catch does not catch it, so I guess the root cause is that D exceptions are not integrated with Windows exceptions (through SEH or whatever mechanism is used on Win64). Which is rather good, turning asynchronous SEH into normal Exceptions ws a bad idea. -- Configure issuemail: https://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
https://d.puremagic.com/issues/show_bug.cgi?id=1001 --- Comment #70 from Vladimir Panteleev thecybersha...@gmail.com 2014-01-07 12:24:10 EET --- (In reply to comment #69) Which is rather good, turning asynchronous SEH into normal Exceptions ws a bad idea. Could you elaborate why? I thought SEH was designed so that it would integrate neatly with C++ exceptions. -- Configure issuemail: https://d.puremagic.com/issues/userprefs.cgi?tab=email --- You are receiving this mail because: ---
[Issue 11849] Recursive enum causes segfault
https://d.puremagic.com/issues/show_bug.cgi?id=11849 Kenji Hara k.hara...@gmail.com changed: What|Removed |Added Severity|normal |regression --- Comment #8 from Kenji Hara k.hara...@gmail.com 2014-01-07 02:26:24 PST --- (In reply to comment #0) alias DWORD = uint; enum : DWORD { REG_DWORD = 4 } enum RegValueType : DWORD { Unknown = DWORD.max, DWORD = REG_DWORD } This code meaning was changed from 2.064, but infinite loop did not occur with 2.063. -- Configure issuemail: https://d.puremagic.com/issues/userprefs.cgi?tab=email --- You are receiving this mail because: ---
[Issue 11849] Recursive enum causes segfault
https://d.puremagic.com/issues/show_bug.cgi?id=11849 --- Comment #9 from github-bugzi...@puremagic.com 2014-01-07 02:33:00 PST --- Commit pushed to 2.065 at https://github.com/D-Programming-Language/dmd https://github.com/D-Programming-Language/dmd/commit/0895bed3880b2f925e30cc53727d6cfd533a4c8c Merge pull request #3057 from 9rnsr/fix11849 Issue 11849 - Recursive enum causes segfault -- Configure issuemail: https://d.puremagic.com/issues/userprefs.cgi?tab=email --- You are receiving this mail because: ---
[Issue 11553] dmd segfault with recursive template
https://d.puremagic.com/issues/show_bug.cgi?id=11553 Kenji Hara k.hara...@gmail.com changed: What|Removed |Added Severity|major |regression --- Comment #7 from Kenji Hara k.hara...@gmail.com 2014-01-07 02:31:10 PST --- (In reply to comment #0) An example that is clearly wrong code, but segfaults the compiler on Scope::push template A(alias T) { template A() { alias A = T!(); } } alias B() = A!(.B); static if(A!B){} With 2.063, following equivalent code did not cause segfault. template A(alias T) { template A() { alias A = T!(); } } template B() { alias B = A!(.B); } static if (A!B) {} // Line 9 Output: test.d(9): Error: expression template A() of type void does not have a boolean value -- Configure issuemail: https://d.puremagic.com/issues/userprefs.cgi?tab=email --- You are receiving this mail because: ---
[Issue 11844] ICE(template.c:6643) Assertion failed: (td-semanticRun != PASSinit)
https://d.puremagic.com/issues/show_bug.cgi?id=11844 --- Comment #4 from github-bugzi...@puremagic.com 2014-01-07 02:32:56 PST --- Commit pushed to 2.065 at https://github.com/D-Programming-Language/dmd https://github.com/D-Programming-Language/dmd/commit/d554ec7532bd8fc1f35efdc05df22096501dea6a Merge pull request #3056 from 9rnsr/fix11844 Issue 11844 - ICE(template.c:6643) Assertion failed: (td-semanticRun != PASSinit) -- Configure issuemail: https://d.puremagic.com/issues/userprefs.cgi?tab=email --- You are receiving this mail because: ---
[Issue 11591] std.typecons.Tuple -s with classes fails at runtime as associative array keys
https://d.puremagic.com/issues/show_bug.cgi?id=11591 --- Comment #8 from github-bugzi...@puremagic.com 2014-01-07 02:32:43 PST --- Commit pushed to 2.065 at https://github.com/D-Programming-Language/dmd https://github.com/D-Programming-Language/dmd/commit/ac329ecd01fb9a24d1ec9d60f2d26fe2a14f8e62 Merge pull request #3054 from WalterBright/fix11591 Regression fix Issue 11591 - std.typecons.Tuple -s with classes fails at runtime as associative array keys -- Configure issuemail: https://d.puremagic.com/issues/userprefs.cgi?tab=email --- You are receiving this mail because: ---
[Issue 11553] dmd segfault with recursive template
https://d.puremagic.com/issues/show_bug.cgi?id=11553 --- Comment #8 from github-bugzi...@puremagic.com 2014-01-07 02:33:10 PST --- Commit pushed to 2.065 at https://github.com/D-Programming-Language/dmd https://github.com/D-Programming-Language/dmd/commit/e1866902b88e36537197da16b098afd2df304425 Merge pull request #2826 from 9rnsr/fix11553 Issue 11553 - dmd segfault with recursive template -- Configure issuemail: https://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
https://d.puremagic.com/issues/show_bug.cgi?id=1001 --- Comment #71 from Martin Nowak c...@dawg.eu 2014-01-07 02:55:12 PST --- http://en.wikipedia.org/wiki/Exception_handling#Exception_synchronicity It's simply that the compiler cannot handle cleanup when every instruction could throw. In case an asynchronous exception happens in the middle of some statement your program is immediately in an invalid state. Continuing could deadlock or corrupt data, much worse than a crash. -- Configure issuemail: https://d.puremagic.com/issues/userprefs.cgi?tab=email --- You are receiving this mail because: ---
[Issue 11877] New: static opSlice is not possible
https://d.puremagic.com/issues/show_bug.cgi?id=11877 Summary: static opSlice is not possible Product: D Version: D2 Platform: All OS/Version: All Status: NEW Severity: normal Priority: P2 Component: DMD AssignedTo: nob...@puremagic.com ReportedBy: pub...@dicebot.lv --- Comment #0 from Dicebot pub...@dicebot.lv 2014-01-07 05:01:05 PST --- struct X { static int opSlice(size_t a, size_t b) { return 42; } } static assert ( X[1..2] == 42 ); // Error: cannot slice type 'X' --- There is not reason why slicing should be prohibited in this case. It conforms usual operator syntax rewrite rules and has no grammar ambiguity with array types if slicing bounds are used. -- Configure issuemail: https://d.puremagic.com/issues/userprefs.cgi?tab=email --- You are receiving this mail because: ---
[Issue 8203] Use of std.regex.match() generates not enough preallocated memory error
https://d.puremagic.com/issues/show_bug.cgi?id=8203 --- Comment #13 from Dmitry Olshansky dmitry.o...@gmail.com 2014-01-07 06:57:28 PST --- https://github.com/D-Programming-Language/phobos/pull/1841 -- Configure issuemail: https://d.puremagic.com/issues/userprefs.cgi?tab=email --- You are receiving this mail because: ---
[Issue 11321] Can't link _D6object15__T7reserveTyaZ7reserveFNaNbNeKAyamZm
https://d.puremagic.com/issues/show_bug.cgi?id=11321 Dmitry Olshansky dmitry.o...@gmail.com changed: What|Removed |Added CC||dmitry.o...@gmail.com --- Comment #9 from Dmitry Olshansky dmitry.o...@gmail.com 2014-01-07 07:13:28 PST --- Works for me after fixing Location -- Location() in semantic.d. Also I used dmd as the driver for linking to avoid messing with makefile paths. -- Configure issuemail: https://d.puremagic.com/issues/userprefs.cgi?tab=email --- You are receiving this mail because: ---
[Issue 11350] libphobos2 regex match segfaults when a rare HTTP header is received
https://d.puremagic.com/issues/show_bug.cgi?id=11350 Dmitry Olshansky dmitry.o...@gmail.com changed: What|Removed |Added Keywords||pull --- Comment #3 from Dmitry Olshansky dmitry.o...@gmail.com 2014-01-07 07:26:45 PST --- @sha0coder Could you try with this fix: https://github.com/D-Programming-Language/phobos/pull/1842 -- Configure issuemail: https://d.puremagic.com/issues/userprefs.cgi?tab=email --- You are receiving this mail because: ---
[Issue 8203] Use of std.regex.match() generates not enough preallocated memory error
https://d.puremagic.com/issues/show_bug.cgi?id=8203 --- Comment #14 from github-bugzi...@puremagic.com 2014-01-07 08:40:19 PST --- Commits pushed to master at https://github.com/D-Programming-Language/phobos https://github.com/D-Programming-Language/phobos/commit/8eb57d628bbe07d37f5b110d1c7e921fac1ab6c8 fix issue 8203, similar issue with lookaround When using a temporary engine as closure its generation counter should be tracked separately for each lookaround. For now just use built-in AA, later we could find better places to store this counter in. https://github.com/D-Programming-Language/phobos/commit/39b88e3a625d69c68a4928457216f2138ba9dd2a Merge pull request #1841 from blackwhale/issue-8203 fix issue 8203, similar issue with lookaround -- Configure issuemail: https://d.puremagic.com/issues/userprefs.cgi?tab=email --- You are receiving this mail because: ---
[Issue 8203] Use of std.regex.match() generates not enough preallocated memory error
https://d.puremagic.com/issues/show_bug.cgi?id=8203 Andrej Mitrovic andrej.mitrov...@gmail.com changed: What|Removed |Added Status|REOPENED|RESOLVED CC||andrej.mitrov...@gmail.com Resolution||FIXED -- Configure issuemail: https://d.puremagic.com/issues/userprefs.cgi?tab=email --- You are receiving this mail because: ---
[Issue 11839] std.regex capture group names should allow numbers to be in them
https://d.puremagic.com/issues/show_bug.cgi?id=11839 --- Comment #2 from github-bugzi...@puremagic.com 2014-01-07 10:43:44 PST --- Commits pushed to master at https://github.com/D-Programming-Language/phobos https://github.com/D-Programming-Language/phobos/commit/a673d01ee90f56adb6d73aae05ab0ab74d08baf7 fix issue 11839 https://github.com/D-Programming-Language/phobos/commit/2648a68e9adbdbb9bf21b13dfe655bacbc61cb1e Merge pull request #1838 from blackwhale/issue-11839 Fix issue 11839 -- Configure issuemail: https://d.puremagic.com/issues/userprefs.cgi?tab=email --- You are receiving this mail because: ---
[Issue 11839] std.regex capture group names should allow numbers to be in them
https://d.puremagic.com/issues/show_bug.cgi?id=11839 Dmitry Olshansky dmitry.o...@gmail.com changed: What|Removed |Added Status|NEW |RESOLVED Resolution||FIXED -- Configure issuemail: https://d.puremagic.com/issues/userprefs.cgi?tab=email --- You are receiving this mail because: ---
[Issue 11808] std.uni.CodepointSet('А', 'Я'+1, 'а', 'я'+1) asserts
https://d.puremagic.com/issues/show_bug.cgi?id=11808 --- Comment #6 from github-bugzi...@puremagic.com 2014-01-07 11:43:40 PST --- Commits pushed to master at https://github.com/D-Programming-Language/phobos https://github.com/D-Programming-Language/phobos/commit/4e5b777432a328160f6f2e29f26564bda52a6d13 fix issue 11808 https://github.com/D-Programming-Language/phobos/commit/b364a2f5f5065a1e843c01516068a27d5c6586b2 Merge pull request #1837 from blackwhale/issue-11808 Fix issue 11808 std.uni.CodepointSet('А', 'Я'+1, 'а', 'я'+1) asserts -- Configure issuemail: https://d.puremagic.com/issues/userprefs.cgi?tab=email --- You are receiving this mail because: ---
[Issue 11808] std.uni.CodepointSet('А', 'Я'+1, 'а', 'я'+1) asserts
https://d.puremagic.com/issues/show_bug.cgi?id=11808 Dmitry Olshansky dmitry.o...@gmail.com changed: What|Removed |Added Status|NEW |RESOLVED Resolution||FIXED -- Configure issuemail: https://d.puremagic.com/issues/userprefs.cgi?tab=email --- You are receiving this mail because: ---
[Issue 3749] cannot evaluate yl2x (log) and exp functions at compile time
https://d.puremagic.com/issues/show_bug.cgi?id=3749 Iain Buclaw ibuc...@ubuntu.com changed: What|Removed |Added CC||ibuc...@ubuntu.com --- Comment #11 from Iain Buclaw ibuc...@ubuntu.com 2014-01-07 14:56:54 PST --- (In reply to comment #10) What's the state of this? Having log/exp functions at compile time would be very useful, e.g. to pregenerate scientific tables. std.math now has pure generic implementations. One of the main problems holding CTFE support back is that there is no straightforward way to do math operations such as isNaN, isInfinity, signbit, frexp which require access (and for some, manipulation) of the bits in float types. GDC has the ability to convert float - array already in place, but its not in use because CTFE doesn't allow it. Saying that, DMD has a problem that GDC doesn't - it uses the IASM implementations of std.math functions that can't be evaluated at compile time. -- Configure issuemail: https://d.puremagic.com/issues/userprefs.cgi?tab=email --- You are receiving this mail because: ---
[Issue 8298] dirEntries special linux file in Home dir
https://d.puremagic.com/issues/show_bug.cgi?id=8298 Timothee Cour timothee.co...@gmail.com changed: What|Removed |Added CC||timothee.co...@gmail.com --- Comment #4 from Timothee Cour timothee.co...@gmail.com 2014-01-07 15:41:11 PST --- Is anything blocking the pull ? -- Configure issuemail: https://d.puremagic.com/issues/userprefs.cgi?tab=email --- You are receiving this mail because: ---
[Issue 11878] New: UFCS for base-2 literals too
https://d.puremagic.com/issues/show_bug.cgi?id=11878 Summary: UFCS for base-2 literals too Product: D Version: D2 Platform: x86 OS/Version: Windows Status: NEW Severity: enhancement Priority: P2 Component: DMD AssignedTo: nob...@puremagic.com ReportedBy: bearophile_h...@eml.cc --- Comment #0 from bearophile_h...@eml.cc 2014-01-07 15:56:50 PST --- void foo(int x) {} void main() { 33.foo; // OK 0b11.foo; // Error 0x21.foo; // Error } DMD 2.065alpha gives a colorful group of error messages: test.d(4): Error: found 'b11' when expecting ';' following statement test.d(5): Error: exponent required for hex float test.d(5): Error: found 'oo' when expecting ';' following statement test.d(5): Warning: use '{ }' for an empty statement, not a ';' I think the 0b11.foo; case could be accepted. Note that currently the situation with float literals is OK: import std.stdio; void f(float x) { writeln(x); } void main() { 33.f; // calls f. float x = 33.0f; // float literal. } So perhaps this is also a bug report for hex float literals. -- Configure issuemail: https://d.puremagic.com/issues/userprefs.cgi?tab=email --- You are receiving this mail because: ---
[Issue 11879] New: missing default User-Agent in std.net.curl
https://d.puremagic.com/issues/show_bug.cgi?id=11879 Summary: missing default User-Agent in std.net.curl Product: D Version: unspecified Platform: All OS/Version: All Status: NEW Severity: normal Priority: P2 Component: Phobos AssignedTo: nob...@puremagic.com ReportedBy: c...@dawg.eu --- Comment #0 from Martin Nowak c...@dawg.eu 2014-01-07 16:14:44 PST --- The W3C standard says User agents SHOULD include this field with requests. http://www.w3.org/Protocols/rfc2616/rfc2616-sec14.html#sec14.43 Some APIs will reject requests without a User-Agent. Most notably https://api.github.com will return a 403 and the following message. Request forbidden by administrative rules. Please make sure your request has a User-Agent header (http://developer.github.com/v3/#user-agent-required). Check https://developer.github.com for other possible causes. I think we should chose a default value for this field like most other libraries. http://www.useragentstring.com/pages/Librarielist/ How about Phobos-std.net.curl/2.064 (libcurl/7.32.0)? -- Configure issuemail: https://d.puremagic.com/issues/userprefs.cgi?tab=email --- You are receiving this mail because: ---
[Issue 11879] missing default User-Agent in std.net.curl
https://d.puremagic.com/issues/show_bug.cgi?id=11879 --- Comment #1 from Martin Nowak c...@dawg.eu 2014-01-07 16:15:34 PST --- I forgot to mention, the problem is very hard to debug, especially over an encrypted connection. -- Configure issuemail: https://d.puremagic.com/issues/userprefs.cgi?tab=email --- You are receiving this mail because: ---
[Issue 8298] dirEntries special linux file in Home dir
https://d.puremagic.com/issues/show_bug.cgi?id=8298 --- Comment #5 from github-bugzi...@puremagic.com 2014-01-07 16:23:53 PST --- Commits pushed to master at https://github.com/D-Programming-Language/phobos https://github.com/D-Programming-Language/phobos/commit/eb4d5a0572da733c492ef3b75ff12e74a8f0a522 Fix Issue #8298, Don't throw exceptions on broken symlinks. Using dirEntries to loop trough all the files/directories in a directory will curently throw an Exception when encountering an broken symlink. Whit this change DirEntry will no longer throw an Exception for broken symlinks, but in that case isDir and isFile will return flase while isSymlink returns true. https://github.com/D-Programming-Language/phobos/commit/1d7912c6791bd0a84f67370f4462b922b996701c Merge pull request #1142 from MikeWey/Issue8298 Fix Issue #8298, Don't throw exceptions on broken symlinks. -- Configure issuemail: https://d.puremagic.com/issues/userprefs.cgi?tab=email --- You are receiving this mail because: ---
[Issue 8298] dirEntries special linux file in Home dir
https://d.puremagic.com/issues/show_bug.cgi?id=8298 --- Comment #6 from Timothee Cour timothee.co...@gmail.com 2014-01-07 16:39:58 PST --- so shall we mark this as FIXED? -- Configure issuemail: https://d.puremagic.com/issues/userprefs.cgi?tab=email --- You are receiving this mail because: ---
[Issue 11350] libphobos2 regex match segfaults when a rare HTTP header is received
https://d.puremagic.com/issues/show_bug.cgi?id=11350 --- Comment #4 from github-bugzi...@puremagic.com 2014-01-07 17:02:24 PST --- Commits pushed to master at https://github.com/D-Programming-Language/phobos https://github.com/D-Programming-Language/phobos/commit/3b6cc0cb73be19986ef1b8a30036227c98b37bb9 fix issue 11350 Do not throw on bad UTF inside of a C callback https://github.com/D-Programming-Language/phobos/commit/84dbc9934d4e0e72dc9ce138a0a0771666b51f26 Merge pull request #1842 from blackwhale/issue-11350 Fix issue 11350 ibphobos2 regex match segfaults when a rare HTTP header is received -- Configure issuemail: https://d.puremagic.com/issues/userprefs.cgi?tab=email --- You are receiving this mail because: ---
[Issue 4125] std.numeric.gcd can use a binary GCD
https://d.puremagic.com/issues/show_bug.cgi?id=4125 --- Comment #6 from bearophile_h...@eml.cc 2014-01-07 18:04:17 PST --- Created an attachment (id=1313) Faster GCD Code for a binary GCD that on LDC2 is about twice faster on uint values, and it's rather faster with dmd too. Timings (gcd is the Phobos one): DMD 2.061alpha (32 bit): gcd, time = 1924 gcd_recursive, time = 1937 gcd_iterative_sub, time = 2931 gcd_iterative_mod, time = 1948 gcd_binary, time = 3357 gcd_binary_mod, time = 2136 gcd_binary_2, time = 1406 gcd_binary_2, time = 1391 Results sum: 1284258816 LDC2 (32 bit): gcd, time = 1930 gcd_recursive, time = 1924 gcd_iterative_sub, time = 3148 gcd_iterative_mod, time = 1926 gcd_binary, time = 2635 gcd_binary_mod, time = 2036 gcd_binary_2, time = 1461 gcd_binary_3, time = 1026 Results sum: 1284258816 -- Configure issuemail: https://d.puremagic.com/issues/userprefs.cgi?tab=email --- You are receiving this mail because: ---
[Issue 10369] Deprecate unordered floating point comparisons (!=, etc) and later remove them
https://d.puremagic.com/issues/show_bug.cgi?id=10369 --- Comment #11 from bearophile_h...@eml.cc 2014-01-07 18:22:31 PST --- Eventually the operators should be also removed from this page: http://dlang.org/lex.html -- Configure issuemail: https://d.puremagic.com/issues/userprefs.cgi?tab=email --- You are receiving this mail because: ---
[Issue 5660] yield syntax sugar
https://d.puremagic.com/issues/show_bug.cgi?id=5660 --- Comment #10 from bearophile_h...@eml.cc 2014-01-07 18:32:09 PST --- I think a yield with an usage syntax like this (semantically similar to the Python yield) that's syntax sugar for a ForwardRange is a good and handy addition to the language: yield(int) foo() { yield 1; yield 2; } void main() { import std.stdio, std.algorithm; foo.map!(x = x).writeln; } See also for an improvement: http://www.python.org/dev/peps/pep-0380/ That explains the desire for also a yield foreach (this is not a replacement for yield, it's an addition): yield(int) bar() { yield foreach foo(); } -- Configure issuemail: https://d.puremagic.com/issues/userprefs.cgi?tab=email --- You are receiving this mail because: ---
[Issue 5660] yield syntax sugar
https://d.puremagic.com/issues/show_bug.cgi?id=5660 --- Comment #11 from bearophile_h...@eml.cc 2014-01-07 18:39:04 PST --- See also Issue 11880 for reserving the keyword yield. -- Configure issuemail: https://d.puremagic.com/issues/userprefs.cgi?tab=email --- You are receiving this mail because: ---
[Issue 11880] New: Reserve the keyword yield
https://d.puremagic.com/issues/show_bug.cgi?id=11880 Summary: Reserve the keyword yield 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 2014-01-07 18:38:02 PST --- I suggest to reserve the keyword yield for future usage (just like the keyword macro, cent, ucent). This will avoid backward compatibility problems with D code that uses variable names yield today. See Issue 5660 for info on yield. Today code that uses yield should give an explicit error message like this: test.d(2): Error: yield not implemented And this should compile: void main() { static assert(!__traits(compiles, { yield(int) foo() { yield 1; }})); } -- Configure issuemail: https://d.puremagic.com/issues/userprefs.cgi?tab=email --- You are receiving this mail because: ---
[Issue 10740] std.concurrency send() fails with structs over 32 bytes
https://d.puremagic.com/issues/show_bug.cgi?id=10740 --- Comment #3 from Martin Krejcirik m...@krej.cz 2014-01-08 03:45:32 CET --- Comment #2 is bug 9122. Comment #0 still open (the limit is 24 bytes for me). -- Configure issuemail: https://d.puremagic.com/issues/userprefs.cgi?tab=email --- You are receiving this mail because: ---
[Issue 11881] New: -betterC switch suffers from bit rot
https://d.puremagic.com/issues/show_bug.cgi?id=11881 Summary: -betterC switch suffers from bit rot Product: D Version: D2 Platform: All OS/Version: All Status: NEW Severity: normal Priority: P2 Component: DMD AssignedTo: nob...@puremagic.com ReportedBy: bugzi...@digitalmars.com --- Comment #0 from Walter Bright bugzi...@digitalmars.com 2014-01-07 18:57:47 PST --- Adam D. Ruppe writes: I find the -betterC switch to be totally useless. If you are just toying, there's no module info anyway: extern(C) { void _d_run_main() {} // why is this required now void* _d_dso_registry; void _start() { } } dmd -c *.d -defaultlib= -debuglib= gcc -m32 *.o -nostdlib success. Add struct Test{} and: Error: ModuleInfo not found. object.d may be incorrectly installed or corrupt. OK, add -betterC: Error: TypeInfo not found. object.d may be incorrectly installed or corrupt, compile with -v switch If you do use an object.d with it defined to get past the compiler, it doesn't help much as the linker complains anyway: test.o:(.data._D20TypeInfo_S4test4Test6__initZ+0x0): undefined reference to `_D15TypeInfo_Struct6__vtblZ' So my verdict is -betterC is pretty useless. If it got past the TypeInfo stuff the same way it gets past ModuleInfo though, then we'd be cooking with gas. That potentially gives a language that is legitimately a better C. But without structs, bah. This is a filthy hack, but it is easy to change this in the compiler. (Isn't -betterC a filthy hack in the first place anyway :) ) In Expression *Type::getTypeInfo(Scope *sc) Add if(global.params.betterC) return NULL; right to the top. And same for struct decl void TypeInfoStructDeclaration::toDt(dt_t **pdt) { if(global.params.betterC) return; Then it compiles with the struct! ~5 KB executable, two line object.d. but adding some methods to the struct complain about missing ModuleInfo again. Looks like it wants to do assert(this !is null); and the assert thing takes a module info reference. Ugh that said, adding: void _d_assert_msg() {} void _d_assertm() {} void* _D4test12__ModuleInfoZ; to my extern(C) boilerplate did manage to work - structs with postblits and dtors yay! - and trimmed the exe down to 1.3K. Maybe -betterC can stop outputting those references too and then we'd really be cooking. -- Configure issuemail: https://d.puremagic.com/issues/userprefs.cgi?tab=email --- You are receiving this mail because: ---
[Issue 11881] -betterC switch suffers from bit rot
https://d.puremagic.com/issues/show_bug.cgi?id=11881 Adam D. Ruppe destructiona...@gmail.com changed: What|Removed |Added CC||destructiona...@gmail.com --- Comment #1 from Adam D. Ruppe destructiona...@gmail.com 2014-01-07 19:27:21 PST --- Other stuff I think this should do: * suppress the generation of the call _d_dso_registry function (backend/elfobj.c). * The assert isn't put out with -release, but that kills all asserts. So I think -betterC might be good to suppress any *hidden* asserts, while keeping explicit ones in (which are removed with -release if you want to kill them too). The struct method calling _d_assertm, which requires ModuleInfo, is a hidden assert on the struct method. actually that just might do the trick for a better c. Toying with these, I made a test.d with an extern(C) main and it worked fairly well. My hacky changes to the compiler caused it to crash if I tried to use a class, but C doesn't have classes either so oh well. -- Configure issuemail: https://d.puremagic.com/issues/userprefs.cgi?tab=email --- You are receiving this mail because: ---
[Issue 3749] cannot evaluate yl2x (log) and exp functions at compile time
https://d.puremagic.com/issues/show_bug.cgi?id=3749 --- Comment #12 from Martin Nowak c...@dawg.eu 2014-01-07 19:47:17 PST --- (In reply to comment #11) (In reply to comment #10) What's the state of this? Having log/exp functions at compile time would be very useful, e.g. to pregenerate scientific tables. std.math now has pure generic implementations. One of the main problems holding CTFE support back is that there is no straightforward way to do math operations such as isNaN, isInfinity, signbit, frexp which require access (and for some, manipulation) of the bits in float types. We had the same issue with hashOf in druntime and now there is a huge machinery to compute exponent and mantissa. Could we allow to read specific floating point values through intrinsics at compile time? Something like exponent(float), signbit(float), mantissa(float)? Saying that, DMD has a problem that GDC doesn't - it uses the IASM implementations of std.math functions that can't be evaluated at compile time. How do you treat std.math.log at runtime as intrinsic or does it run the same code? Is there a performance penalty? -- Configure issuemail: https://d.puremagic.com/issues/userprefs.cgi?tab=email --- You are receiving this mail because: ---
[Issue 11880] Reserve the keyword yield
https://d.puremagic.com/issues/show_bug.cgi?id=11880 Jacob Carlborg d...@me.com changed: What|Removed |Added CC||d...@me.com --- Comment #1 from Jacob Carlborg d...@me.com 2014-01-07 23:35:19 PST --- yield is already used for function names in core.Thread and core.Fiber. -- Configure issuemail: https://d.puremagic.com/issues/userprefs.cgi?tab=email --- You are receiving this mail because: ---
[Issue 11880] Reserve the keyword yield
https://d.puremagic.com/issues/show_bug.cgi?id=11880 Vladimir Panteleev thecybersha...@gmail.com changed: What|Removed |Added CC||thecybersha...@gmail.com --- Comment #2 from Vladimir Panteleev thecybersha...@gmail.com 2014-01-08 09:42:11 EET --- As I understand, yield doesn't need to be a keyword - it can be implemented as a language construct. The only limitation is that coroutines need to be started explicitly (which I think this is a plus as it improves readability). I suggest closing this as WONTFIX. -- Configure issuemail: https://d.puremagic.com/issues/userprefs.cgi?tab=email --- You are receiving this mail because: ---
[Issue 11880] Reserve the keyword yield
https://d.puremagic.com/issues/show_bug.cgi?id=11880 --- Comment #3 from Vladimir Panteleev thecybersha...@gmail.com 2014-01-08 09:42:54 EET --- s/language construct/library construct/ -- Configure issuemail: https://d.puremagic.com/issues/userprefs.cgi?tab=email --- You are receiving this mail because: ---
[Issue 11880] Reserve the keyword yield
https://d.puremagic.com/issues/show_bug.cgi?id=11880 Maxim Fomin ma...@maxim-fomin.ru changed: What|Removed |Added Status|NEW |RESOLVED CC||ma...@maxim-fomin.ru Resolution||WONTFIX -- Configure issuemail: https://d.puremagic.com/issues/userprefs.cgi?tab=email --- You are receiving this mail because: ---