[Issue 17611] New: core.demangle cannot demangle delegates with function attributes
https://issues.dlang.org/show_bug.cgi?id=17611 Issue ID: 17611 Summary: core.demangle cannot demangle delegates with function attributes Product: D Version: D2 Hardware: x86_64 OS: Windows Status: NEW Severity: normal Priority: P1 Component: druntime Assignee: nob...@puremagic.com Reporter: r.sagita...@gmx.de The symbol "_D4test2dgDxFiYd" is not demangled by core.demangle or ddemangle. It should demangle as "double delegate(int, ...) const test.dg". --
[Issue 17609] core.demangle demangles delegate variables as functions
https://issues.dlang.org/show_bug.cgi?id=17609 Rainer Schuetze changed: What|Removed |Added Severity|enhancement |normal --
[Issue 17610] New: core.demangle shows return type of template alias parameter
https://issues.dlang.org/show_bug.cgi?id=17610 Issue ID: 17610 Summary: core.demangle shows return type of template alias parameter Product: D Version: D2 Hardware: x86_64 OS: Windows Status: NEW Severity: minor Priority: P1 Component: druntime Assignee: nob...@puremagic.com Reporter: r.sagita...@gmx.de >From the core.demangle unittests: _D8bug1119234__T3fooS23_D8bug111924mainFZ3bariZ3fooMFZv is demangled as void bug11192.foo!(int bug11192.main().bar).foo() but should oit the return type in the template argument: void bug11192.foo!(bug11192.main().bar).foo() --
[Issue 17609] New: core.demangle demangles delegate variables as functions
https://issues.dlang.org/show_bug.cgi?id=17609 Issue ID: 17609 Summary: core.demangle demangles delegate variables as functions Product: D Version: D2 Hardware: x86_64 OS: Windows Status: NEW Severity: enhancement Priority: P1 Component: druntime Assignee: nob...@puremagic.com Reporter: r.sagita...@gmx.de _D4test2dgDFiYd in core.demangle's unittests is demangled as "double test.dg(int, ...)", but it should be "double delegate(int, ...) test.dg". --
[Issue 17596] dmd d 2.073.2 and 2.074.1 interim generated dmd segfaults on FreeBSD 12-CURRENT
https://issues.dlang.org/show_bug.cgi?id=17596 --- Comment #3 from Cy Schubert --- Correct. The implementer of inode64 has done a great job of avoiding ABI breakage. Applications built before inode64 continue to run due to code in libc to detect "old" v.s. "new". Most newly compiled code builds and runs okay. DMD is different however because many data structures are replicated in DMD. For example stat_t and dirent_t headers have issues. I wasn't able to find a stub that DMD D might use to make the actual call. If you can point me in the right direction I should be able to do the work myself (when I can find the time). Having said that, any change would be incompatible with older releases of FreeBSD so, a possible solution might be a version check for version(FreeBSD12+) -- (FreeBSD uses a version check in /usr/include/sys/param.h.) Is there a way to determine which release of FreeBSD within DMD D? Such as version(something)? So summarize my thoughts above: 1. The data structures and files that use inodes system calls to stat(), fstat, and others need to be identified. I can do some of the work or we can work together. 2. Some way of identifying "old" FreeBSD v.s. "new" FreeBSD through a version check. Hopefully this is not too much information (as I tend to get into the weeds). ~cy --
[Issue 17596] dmd d 2.073.2 and 2.074.1 interim generated dmd segfaults on FreeBSD 12-CURRENT
https://issues.dlang.org/show_bug.cgi?id=17596 --- Comment #2 from Vladimir Panteleev --- I don't know much about FreeBSD, but do I understand correctly that this is a breaking ABI change? Meaning that it's not possible to compile a binary that will work on both FreeBSD systems before the change and FreeBSD systems after it? --
[Issue 17608] [REG2.075.0-b2] No [] operator overload for type object.TypeInfo_Class
https://issues.dlang.org/show_bug.cgi?id=17608 --- Comment #2 from Vladimir Panteleev --- (In reply to Seb from comment #1) > Is there something different with the build? Yes. __VERSION__ is 75 instead of 2075. --
[Issue 17608] [REG2.075.0-b2] No [] operator overload for type object.TypeInfo_Class
https://issues.dlang.org/show_bug.cgi?id=17608 --- Comment #1 from Seb --- I tried to reproduce this with Digger, upstream/master and upstream/stable, in all three cases Vibe.d passes fine. I only get the errors with dmd-2.075.0-b2 git clone https://github.com/rejectedsoftware/vibe.d git checkout v0.7.31 dub test :core --compiler=/home/seb/dlang/dmd-2.075.0-b2/linux/bin64/dmd Performing "unittest" build using /home/seb/dlang/dmd-2.075.0-b2/linux/bin64/dmd for x86_64. vibe-d:utils 0.7.31: target for configuration "library" is up to date. vibe-d:data 0.7.31: target for configuration "library" is up to date. vibe-d:core 0.7.31: building configuration "vibe-d-core-test-libevent"... source/vibe/utils/memory.d(844): Error: no [] operator overload for type object.TypeInfo_Class source/vibe/utils/memory.d(647): Error: template instance vibe.utils.memory.internalEmplace!(ReadWriteMutex) error instantiating source/vibe/core/drivers/libevent2.d(1328):instantiated from here: alloc!() source/vibe/utils/memory.d(844): Error: no [] operator overload for type object.TypeInfo_Class source/vibe/utils/memory.d(647): Error: template instance vibe.utils.memory.internalEmplace!(Mutex) error instantiating source/vibe/core/drivers/libevent2.d(1329):instantiated from here: alloc!() source/vibe/utils/memory.d(844): Error: no [] operator overload for type object.TypeInfo_Class source/vibe/utils/memory.d(647): Error: template instance vibe.utils.memory.internalEmplace!(Condition, Mutex) error instantiating source/vibe/core/drivers/libevent2.d(1460):instantiated from here: alloc!(Mutex) source/vibe/utils/memory.d(844): Error: no [] operator overload for type object.TypeInfo_Class source/vibe/utils/memory.d(647): Error: template instance vibe.utils.memory.internalEmplace!(Libevent2TCPConnection, TCPContext*) error instantiating source/vibe/utils/memory.d(698):instantiated from here: alloc!(TCPContext*) source/vibe/core/drivers/libevent2_tcp.d(614):instantiated from here: opCall!(TCPContext*) source/vibe/utils/memory.d(844): Error: no [] operator overload for type object.TypeInfo_Class source/vibe/utils/memory.d(647): Error: template instance vibe.utils.memory.internalEmplace!(OpenSSLStream, Stream, OpenSSLContext, TLSStreamState, string, NetworkAddress) error instantiating source/vibe/utils/memory.d(698):instantiated from here: alloc!(Stream, OpenSSLContext, TLSStreamState, string, NetworkAddress) source/vibe/stream/tls.d(152):instantiated from here: opCall!(Stream, OpenSSLContext, TLSStreamState, string, NetworkAddress) /home/seb/dlang/dmd-2.075.0-b2/linux/bin64/dmd failed with exit code 1. Is there something different with the build? --
[Issue 17526] Add a set method for AA
https://issues.dlang.org/show_bug.cgi?id=17526 hst...@quickfur.ath.cx changed: What|Removed |Added CC||hst...@quickfur.ath.cx --- Comment #1 from hst...@quickfur.ath.cx --- I'm not sure about this. Isn't the fact that you declared the AA's value type to be const a declaration that it cannot change once you initialize it? If I have an array A of type const(int)[], I'd expect that I should not be able to assign new values to A[0], otherwise it breaks the const guarantee. Similarly, if I have an AA of type const(int)[string], I'd expect that I cannot assign to AA["a"] once the AA is initialized, otherwise I'm violating the const guarantee. --
[Issue 17587] JSONOptions: No forward slash encoding
https://issues.dlang.org/show_bug.cgi?id=17587 Adam D. Ruppe changed: What|Removed |Added CC||destructiona...@gmail.com --- Comment #5 from Adam D. Ruppe --- > In my AWS SDK I had the issue that \/ was not accepted while passing the JSON > as console argument to the AWS console client. Sounds like you should be shell encoding the data first anyway! --
[Issue 11594] synchronized causing segfault instead of Error.
https://issues.dlang.org/show_bug.cgi?id=11594 --- Comment #2 from Shammah Chancellor --- (In reply to Vladimir Panteleev from comment #1) > I can't reproduce this with either today's compiler or 2.064. > > In your code, you have: > > private Object mut;// = new Object(); > > Does that mean that you instantiate it somewhere? Because if it's not > instantiated (i.e. your code is ran verbatim), it does result is a > segmentation fault as you described, but only because the object used for > locking is null. > > If you can still reproduce this today and can provide a complete test case, > please reopen. The issue is that when compiled in debug mode, the "in" contract on core.sync.mutex is not checked. This should generate an exception detailing where the error was made when you try to synchronize on an uninitialized object, rather than a segfault (when in debug mode) --
[Issue 17380] Compiler segfaults on undefined symbol
https://issues.dlang.org/show_bug.cgi?id=17380 --- Comment #3 from github-bugzi...@puremagic.com --- Commits pushed to master at https://github.com/dlang/dmd https://github.com/dlang/dmd/commit/a583f97e3c99d91c499da6c3c3f22e810a5890d8 fix Issue 17380 - [REG 2.074.0] Compiler segfaults on undefined symbol https://github.com/dlang/dmd/commit/e0223539bbdd6e0aef749ba93435c9144635d5f6 Merge pull request #6969 from WalterBright/fix17380 fix Issue 17380 - Compiler segfaults on undefined symbol --
[Issue 17587] JSONOptions: No forward slash encoding
https://issues.dlang.org/show_bug.cgi?id=17587 ag0ae...@gmail.com changed: What|Removed |Added CC||ag0ae...@gmail.com --- Comment #4 from ag0ae...@gmail.com --- Pull request to move this forward to some resolution: https://github.com/dlang/phobos/pull/5552 --
[Issue 7970] @property does not properly disambiguate delegate properties
https://issues.dlang.org/show_bug.cgi?id=7970 Jonathan M Davis changed: What|Removed |Added Status|RESOLVED|REOPENED Resolution|WONTFIX |--- Severity|normal |enhancement --- Comment #3 from Jonathan M Davis --- (In reply to Adam D. Ruppe from comment #2) > I actually don't agree this should be wontfix (though that does seem to be > the status quo). We don't have -property, but we do still have @property and > this is the one compelling case where I actually want to use it. Agreed. Regardless of -property, without a fix along these lines, the property syntax is somewhat crippled. And @property could still be improved to fix this even if it's unnecessary in most cases that you want to use the property syntax. I am changing this to an enhancement request though rather than simply reopening it. --
[Issue 2496] zlib stream class
https://issues.dlang.org/show_bug.cgi?id=2496 Vladimir Panteleev changed: What|Removed |Added Status|NEW |RESOLVED Hardware|x86 |All Resolution|--- |WONTFIX OS|Linux |All --- Comment #2 from Vladimir Panteleev --- Chunk-wise compression has been in std.zlib from the beginning, so I guess thin issue is about adapting it to a certain common interface. std.stream is gone, though, so what would be today's solution? Range of bytes (grossly inefficient)? Range of ranges of bytes? I think IOPipe is the way forward here, and it already implements ZLib compression/decompression. Please reopen if you have a specific proposal. --
[Issue 15848] Identity opAssign not called on out parameters
https://issues.dlang.org/show_bug.cgi?id=15848 Vladimir Panteleev changed: What|Removed |Added Keywords||wrong-code --
[Issue 16312] "Error: Overlapping fields" caused by use of deprecated features in referred to fields
https://issues.dlang.org/show_bug.cgi?id=16312 Vladimir Panteleev changed: What|Removed |Added Hardware|x86_64 |All OS|Linux |All --
[Issue 17608] New: [REG2.075.0-b2] No [] operator overload for type object.TypeInfo_Class
https://issues.dlang.org/show_bug.cgi?id=17608 Issue ID: 17608 Summary: [REG2.075.0-b2] No [] operator overload for type object.TypeInfo_Class Product: D Version: D2 Hardware: All OS: All Status: NEW Severity: regression Priority: P1 Component: dmd Assignee: nob...@puremagic.com Reporter: greensunn...@gmail.com Both dlang-bot and dlang-tour fail to build with 2.075.0-b2 due a regression manifesting in the build of Vibe.d: https://travis-ci.org/dlang-bots/dlang-bot/jobs/250517978 https://travis-ci.org/dlang-tour/core/jobs/250464149 - Log: vibe-d:core 0.7.31: building configuration "libevent"... tiating ../../../.dub/packages/vibe-d-0.7.31/vibe-d/source/vibe/utils/memory.d(698): instantiated from here: alloc!(TCPContext*) ../../../.dub/packages/vibe-d-0.7.31/vibe-d/source/vibe/core/drivers/libevent2_tcp.d(614): instantiated from here: opCall!(TCPContext*) mustache-d 0.1.3: building configuration "library"... vibe-d:utils 0.7.31: building configuration "library"... vibe-d:data 0.7.31: building configuration "library"... ../../../.dub/packages/vibe-d-0.7.31/vibe-d/source/vibe/utils/memory.d(844): Error: no [] operator overload for type object.TypeInfo_Class ../../../.dub/packages/vibe-d-0.7.31/vibe-d/source/vibe/utils/memory.d(647): Error: template instance vibe.utils.memory.internalEmplace!(ReadWriteMutex) error instantiating ../../../.dub/packages/vibe-d-0.7.31/vibe-d/source/vibe/core/drivers/libevent2.d(1328): instantiated from here: alloc!() ../../../.dub/packages/vibe-d-0.7.31/vibe-d/source/vibe/utils/memory.d(844): Error: no [] operator overload for type object.TypeInfo_Class ../../../.dub/packages/vibe-d-0.7.31/vibe-d/source/vibe/utils/memory.d(647): Error: template instance vibe.utils.memory.internalEmplace!(Mutex) error instantiating ../../../.dub/packages/vibe-d-0.7.31/vibe-d/source/vibe/core/drivers/libevent2.d(1329): instantiated from here: alloc!() ../../../.dub/packages/vibe-d-0.7.31/vibe-d/source/vibe/utils/memory.d(844): Error: no [] operator overload for type object.TypeInfo_Class ../../../.dub/packages/vibe-d-0.7.31/vibe-d/source/vibe/utils/memory.d(647): Error: template instance vibe.utils.memory.internalEmplace!(Condition, Mutex) error instantiating ../../../.dub/packages/vibe-d-0.7.31/vibe-d/source/vibe/core/drivers/libevent2.d(1460): instantiated from here: alloc!(Mutex) ../../../.dub/packages/vibe-d-0.7.31/vibe-d/source/vibe/utils/memory.d(844): Error: no [] operator overload for type object.TypeInfo_Class ../../../.dub/packages/vibe-d-0.7.31/vibe-d/source/vibe/utils/memory.d(647): Error: template instance vibe.utils.memory.internalEmplace!(Libevent2TCPConnection, TCPContext*) error instan../../../.dub/packages/vibe-d-0.7.31/vibe-d/source/vibe/utils/memory.d(844): Error: no [] operator overload for type object.TypeInfo_Class ../../../.dub/packages/vibe-d-0.7.31/vibe-d/source/vibe/utils/memory.d(647): Error: template instance vibe.utils.memory.internalEmplace!(OpenSSLStream, Stream, OpenSSLContext, TLSStreamState, string, NetworkAddress) error instantiating ../../../.dub/packages/vibe-d-0.7.31/vibe-d/source/vibe/utils/memory.d(698): instantiated from here: alloc!(Stream, OpenSSLContext, TLSStreamState, string, NetworkAddress) ../../../.dub/packages/vibe-d-0.7.31/vibe-d/source/vibe/stream/tls.d(152): instantiated from here: opCall!(Stream, OpenSSLContext, TLSStreamState, string, NetworkAddress) dmd failed with exit code 1. --
[Issue 5995] string append negative integer causes segfault
https://issues.dlang.org/show_bug.cgi?id=5995 Vladimir Panteleev changed: What|Removed |Added CC||skoczn...@gmail.com --- Comment #23 from Vladimir Panteleev --- *** Issue 16545 has been marked as a duplicate of this issue. *** --
[Issue 17587] JSONOptions: No forward slash encoding
https://issues.dlang.org/show_bug.cgi?id=17587 --- Comment #3 from Andre --- I just noticed another scenario in which I face the issue. I have a d application which adapt a dub.json configuration file. It adds some some sub packages which are created via my application. I read the file as text, parses the text into JSON (std.json) adapt the JSON and store it again as file. If the file contains a homepage attribute, it will be rewritten as http:\/\/...\/... This rewriting is not intended. --
[Issue 16545] Runtime crash when trying to append big int value to string
https://issues.dlang.org/show_bug.cgi?id=16545 Vladimir Panteleev changed: What|Removed |Added Status|NEW |RESOLVED Resolution|--- |DUPLICATE --- Comment #1 from Vladimir Panteleev --- *** This issue has been marked as a duplicate of issue 5995 *** --
[Issue 8885] Passing super class' private method as delegate allowed
https://issues.dlang.org/show_bug.cgi?id=8885 Vladimir Panteleev changed: What|Removed |Added Hardware|x86_64 |All OS|Linux |All --
[Issue 8885] Passing super class' private method as delegate allowed
https://issues.dlang.org/show_bug.cgi?id=8885 Vladimir Panteleev changed: What|Removed |Added Status|NEW |RESOLVED Resolution|--- |WORKSFORME --- Comment #1 from Vladimir Panteleev --- This was fixed by https://github.com/dlang/dmd/pull/5472. The compiler now produces: b.d(10): Deprecation: a.A.d is not visible from module b --
[Issue 2573] [Tracker] Data integrity issues
https://issues.dlang.org/show_bug.cgi?id=2573 Issue 2573 depends on issue 8885, which changed state. Issue 8885 Summary: Passing super class' private method as delegate allowed https://issues.dlang.org/show_bug.cgi?id=8885 What|Removed |Added Status|NEW |RESOLVED Resolution|--- |WORKSFORME --
[Issue 7970] @property does not properly disambiguate delegate properties
https://issues.dlang.org/show_bug.cgi?id=7970 --- Comment #2 from Adam D. Ruppe --- I actually don't agree this should be wontfix (though that does seem to be the status quo). We don't have -property, but we do still have @property and this is the one compelling case where I actually want to use it. --
[Issue 7970] @property does not properly disambiguate delegate properties
https://issues.dlang.org/show_bug.cgi?id=7970 Vladimir Panteleev changed: What|Removed |Added Status|NEW |RESOLVED Resolution|--- |WONTFIX --- Comment #1 from Vladimir Panteleev --- -property is gone, so I guess there's nothing to do here... --
[Issue 10755] 'has no effect in expression' error for return too with comma operator
https://issues.dlang.org/show_bug.cgi?id=10755 Vladimir Panteleev changed: What|Removed |Added Status|NEW |RESOLVED Resolution|--- |WORKSFORME --- Comment #3 from Vladimir Panteleev --- This now produces a deprecation warning after https://github.com/dlang/dmd/pull/5737, which should cover most occurrences of this situation. --
[Issue 9917] Excessive overhead for small-size vector ops
https://issues.dlang.org/show_bug.cgi?id=9917 Vladimir Panteleev changed: What|Removed |Added Keywords||performance --
[Issue 16356] cdouble is broken
https://issues.dlang.org/show_bug.cgi?id=16356 Vladimir Panteleev changed: What|Removed |Added Status|NEW |RESOLVED Resolution|--- |WORKSFORME --- Comment #4 from Vladimir Panteleev --- No longer reproducible after https://github.com/dlang/dmd/pull/6229. Accidentally fixed? --
[Issue 14683] atomicop comparison returntype incorrect
https://issues.dlang.org/show_bug.cgi?id=14683 Vladimir Panteleev changed: What|Removed |Added Hardware|x86_64 |All OS|Linux |All --
[Issue 4290] 'Fragile' opCmp/toHash signature errors
https://issues.dlang.org/show_bug.cgi?id=4290 Vladimir Panteleev changed: What|Removed |Added Status|NEW |RESOLVED See Also||https://issues.dlang.org/sh ||ow_bug.cgi?id=11591 Resolution|--- |WORKSFORME --- Comment #11 from Vladimir Panteleev --- The program now correctly fails to compile with the error message: test.d(14): Error: AA key type Foo should have 'size_t toHash() const nothrow @safe' if opEquals defined The respective change is https://github.com/dlang/dmd/pull/3054. --
[Issue 11591] std.typecons.Tuple -s with classes fails at runtime as associative array keys
https://issues.dlang.org/show_bug.cgi?id=11591 Vladimir Panteleev changed: What|Removed |Added See Also||https://issues.dlang.org/sh ||ow_bug.cgi?id=4290 --
[Issue 11041] Some function in core.stdc should be CTFEable
https://issues.dlang.org/show_bug.cgi?id=11041 Vladimir Panteleev changed: What|Removed |Added Status|NEW |RESOLVED Resolution|--- |WORKSFORME --- Comment #3 from Vladimir Panteleev --- (In reply to Tomoya Tanjo from comment #0) > For instance, core.stdc.string.memcpy prevents std.algorithm.move from being > CTFEable (I think it should be). move is CTFE-able since https://github.com/dlang/phobos/pull/2036. The rest of the issue is too vague to be actionable, please provide specific examples of what you're missing at CTFE. --
[Issue 12030] Detect some wrong array slice assignments at compile time
https://issues.dlang.org/show_bug.cgi?id=12030 --- Comment #1 from Vladimir Panteleev --- (In reply to bearophile_hugs from comment #0) > This contains two related enhancement requests. > > Some missed compile-time tests: > > void main() { > ubyte[10] a; > ubyte[20] b; > b[1 .. a.length + 2] = a[]; > } Since https://github.com/dlang/dmd/pull/3485 this no longer compiles: test.d(4): Error: mismatched array lengths, 11 and 10 --
[Issue 14345] Proxy doesn't support multidimensional structures
https://issues.dlang.org/show_bug.cgi?id=14345 Vladimir Panteleev changed: What|Removed |Added Hardware|x86_64 |All OS|Linux |All --
[Issue 17550] No Edits while Resharper Extension is active
https://issues.dlang.org/show_bug.cgi?id=17550 Rainer Schuetze changed: What|Removed |Added CC||r.sagita...@gmx.de --- Comment #1 from Rainer Schuetze --- I have tried it with the trial version of ReSharper, but that does not expose the described problem. Is this happening on any file or just on D files? Could this be caused by one of the thousands options of ReSharper? --
[Issue 10448] min and max are not NaN aware
https://issues.dlang.org/show_bug.cgi?id=10448 --- Comment #11 from Vladimir Panteleev --- FWIW, after https://github.com/dlang/phobos/pull/2198, the output changes to: nanF 0.0F 0.0F nanF Still looks broken, but in a different way. --
[Issue 8883] -H and non-object object handled incorrectly
https://issues.dlang.org/show_bug.cgi?id=8883 Vladimir Panteleev changed: What|Removed |Added Keywords|wrong-code | --- Comment #1 from Vladimir Panteleev --- Not sure if allowing "object" in module names is intentional. --
[Issue 13092] std.algorithm.cartesianProduct of Nullable Tuple of strings array too
https://issues.dlang.org/show_bug.cgi?id=13092 Vladimir Panteleev changed: What|Removed |Added Hardware|x86 |All OS|Windows |All --
[Issue 13041] std.range.transposed consumes sub-ranges
https://issues.dlang.org/show_bug.cgi?id=13041 Vladimir Panteleev changed: What|Removed |Added Hardware|x86 |All OS|Windows |All --
[Issue 11282] std.process: add capability for two-way inter-process communication without deadlock
https://issues.dlang.org/show_bug.cgi?id=11282 Vladimir Panteleev changed: What|Removed |Added Status|NEW |RESOLVED Resolution|--- |INVALID --- Comment #13 from Vladimir Panteleev --- No reply to my request for clarification in 3 years, closing. --
[Issue 4393] Very good dotProduct
https://issues.dlang.org/show_bug.cgi?id=4393 Vladimir Panteleev changed: What|Removed |Added Keywords||patch --
[Issue 13509] Throwable and Exception ctors aren't nogc
https://issues.dlang.org/show_bug.cgi?id=13509 Vladimir Panteleev changed: What|Removed |Added Status|NEW |RESOLVED Resolution|--- |WORKSFORME --- Comment #1 from Vladimir Panteleev --- Fixed by https://github.com/dlang/druntime/pull/1223. --
[Issue 16284] [REG2.067] CTFE internal error: bad compare
https://issues.dlang.org/show_bug.cgi?id=16284 --- Comment #1 from Vladimir Panteleev --- Introduced in https://github.com/dlang/dmd/pull/4227. --
[Issue 17375] colliding modules detected with binutils 2.28 linker and shared libraries
https://issues.dlang.org/show_bug.cgi?id=17375 Ketmar Dark changed: What|Removed |Added CC||ket...@ketmar.no-ip.org --
[Issue 17375] colliding modules detected with binutils 2.28 linker and shared libraries
https://issues.dlang.org/show_bug.cgi?id=17375 Marco Leise changed: What|Removed |Added CC||marco.le...@gmx.de --
[Issue 17607] New: not an associative array initializer
https://issues.dlang.org/show_bug.cgi?id=17607 Issue ID: 17607 Summary: not an associative array initializer Product: D Version: D2 Hardware: All OS: All Status: NEW Severity: enhancement Priority: P1 Component: dmd Assignee: nob...@puremagic.com Reporter: an...@s-e-a-p.de I build an AWS SDK for D based on the AWS definitions. I generate structures for the input/output data. These structures I fill with the structure initializer which works quite fine for anything except associate arrays. This is the minimized structure to create an record in an AWS Dynamo DB table. For the record you specify the attribute values via an associative array. (I generate an associative array as in the AWS API definition an JSON Object is used). Although structure initializer works quite well for array, it does not work for associative arrays. test.d(19): Error: not an associative array initializer The coding below does not compile. Instead I have to write much more verbose coding to fill the item. Indepent of the current ongoing DIP, is there any chance to enable structure initializer for associative arrrays? struct PutItemRequest { string tableName; AttributeValue[string] item; } struct AttributeValue { bool BOOL; string S; AttributeValue[string] M; string[] SS; } void main() { PutItemRequest request = { tableName: "table1", item: [ "field1": {S: "LALA"}, "field2": {SS: ["A", "B", "C"]}, "field3": { M: ["fieldA": {S: "234"}] } ] }; } --
[Issue 17606] dmd wrongly accepts field without type when annotated with a UDA
https://issues.dlang.org/show_bug.cgi?id=17606 ag0ae...@gmail.com changed: What|Removed |Added CC||ag0ae...@gmail.com --- Comment #1 from ag0ae...@gmail.com --- As far as I can tell, the grammar allows it. As a UserDefinedAttribute, `@foo` matches Property [1]. Property is one of the options for StorageClass [2] (another option is the `auto` keyword). With `@foo` matching StorageClass, `@foo a = false;` matches AutoDeclaration [3] just like `auto a = false;` would. [1] http://dlang.org/spec/attribute.html#Property [2] http://dlang.org/spec/declaration.html#StorageClass [3] http://dlang.org/spec/declaration.html#AutoDeclaration --
[Issue 16546] ordering of modules matters for pragma(lib) on linux
https://issues.dlang.org/show_bug.cgi?id=16546 Vladimir Panteleev changed: What|Removed |Added Status|NEW |RESOLVED Hardware|x86 |All Resolution|--- |WONTFIX OS|Linux |All --- Comment #2 from Vladimir Panteleev --- As far as I can tell, I don't think a change in the language is needed. If you wish to link against a library which has a dependency, then specify the dependency in the same module. I.e. if in you example libbar depends on libfoo, change mod2.d to: module mod2; pragma(lib,"foo"); pragma(lib,"bar"); --
[Issue 17352] [REG 2.075a] Internal error: ddmd/backend/elfobj.c 1739 on duplicate definition
https://issues.dlang.org/show_bug.cgi?id=17352 --- Comment #8 from github-bugzi...@puremagic.com --- Commits pushed to master at https://github.com/dlang/dmd https://github.com/dlang/dmd/commit/76affab78fec0c9acb0253d9672c5c0bdf843dd4 fix Issue 17352 - Internal error: ddmd/backend/elfobj.c 1739 on duplicate definition https://github.com/dlang/dmd/commit/3440f186b246f76c1dba53c0d67e01e00dea633c Merge pull request #6955 from MartinNowak/fix17352 --
[Issue 17339] ambiguous mangling with const alias argument
https://issues.dlang.org/show_bug.cgi?id=17339 --- Comment #6 from github-bugzi...@puremagic.com --- Commit pushed to master at https://github.com/dlang/dmd https://github.com/dlang/dmd/commit/934a423ec91fa2e74961153d6cb6fd53435d510b Revert "remove Issue 17339 workaround" --
[Issue 4447] order of functions greatly affects execution time
https://issues.dlang.org/show_bug.cgi?id=4447 Vladimir Panteleev changed: What|Removed |Added Keywords||performance --
[Issue 4123] BitArray this() with length
https://issues.dlang.org/show_bug.cgi?id=4123 Vladimir Panteleev changed: What|Removed |Added Status|NEW |RESOLVED Resolution|--- |WORKSFORME --- Comment #3 from Vladimir Panteleev --- (In reply to bearophile_hugs from comment #2) > I suggest to break that code. It's not something I'd like to see in D code. Your example no longer compiles since https://github.com/dlang/phobos/pull/2854. --
[Issue 11594] synchronized causing segfault instead of Error.
https://issues.dlang.org/show_bug.cgi?id=11594 Vladimir Panteleev changed: What|Removed |Added Status|NEW |RESOLVED Resolution|--- |WORKSFORME --- Comment #1 from Vladimir Panteleev --- I can't reproduce this with either today's compiler or 2.064. In your code, you have: private Object mut;// = new Object(); Does that mean that you instantiate it somewhere? Because if it's not instantiated (i.e. your code is ran verbatim), it does result is a segmentation fault as you described, but only because the object used for locking is null. If you can still reproduce this today and can provide a complete test case, please reopen. --
[Issue 14077] Letting compiler determine length for fixed-length arrays in return type
https://issues.dlang.org/show_bug.cgi?id=14077 Vladimir Panteleev changed: What|Removed |Added Status|NEW |RESOLVED Resolution|--- |WONTFIX --- Comment #4 from Vladimir Panteleev --- I think this is something that would require a DIP today. --
[Issue 12196] Bad error message for multiple declarations
https://issues.dlang.org/show_bug.cgi?id=12196 Vladimir Panteleev changed: What|Removed |Added Status|NEW |RESOLVED Resolution|--- |WORKSFORME --- Comment #2 from Vladimir Panteleev --- Fixed by https://github.com/dlang/dmd/pull/4021. Now it prints: test.d(3): Deprecation: instead of C-style syntax, use D-style syntax 'int[N] a' test.d(3): Deprecation: instead of C-style syntax, use D-style syntax 'int[N] b' --
[Issue 12196] Bad error message for multiple declarations
https://issues.dlang.org/show_bug.cgi?id=12196 Vladimir Panteleev changed: What|Removed |Added Hardware|x86 |All OS|Windows |All --
[Issue 17606] New: dmd wrongly accepts field without type when annotated with a UDA
https://issues.dlang.org/show_bug.cgi?id=17606 Issue ID: 17606 Summary: dmd wrongly accepts field without type when annotated with a UDA Product: D Version: D2 Hardware: x86 OS: Linux Status: NEW Severity: major Priority: P1 Component: dmd Assignee: nob...@puremagic.com Reporter: timothee.co...@gmail.com DMD64 D Compiler v2.074.0 ``` struct foo{} struct A{ // compiles but shouldn't: missing bool @foo a=false; } ``` --
[Issue 12321] Contracts of implemented interface method aren't called
https://issues.dlang.org/show_bug.cgi?id=12321 Vladimir Panteleev changed: What|Removed |Added Hardware|x86_64 |All OS|Linux |All --
[Issue 16603] [Lexical] comment definition is incorrrect
https://issues.dlang.org/show_bug.cgi?id=16603 Vladimir Panteleev changed: What|Removed |Added Keywords||spec --
[Issue 15493] GC.BlkAttr.APPENDABLE refers to a broken link
https://issues.dlang.org/show_bug.cgi?id=15493 Vladimir Panteleev changed: What|Removed |Added Hardware|x86_64 |All Assignee|nob...@puremagic.com|dlang-bugzilla@thecybershad ||ow.net OS|Linux |All --- Comment #1 from Vladimir Panteleev --- Should be a link to https://dlang.org/phobos/object.html#.capacity. --
[Issue 15304] [REG 2.068.0] Error about SortedRange not being nothrow in debug mode
https://issues.dlang.org/show_bug.cgi?id=15304 Seb changed: What|Removed |Added Status|NEW |RESOLVED CC||greensunn...@gmail.com Resolution|--- |WORKSFORME --- Comment #5 from Seb --- I can't reproduce this, so I am assuming it has been fixed on the road. Please reopen, if this is still an issue for you. --
[Issue 11693] Add new per thread active tickduration facility
https://issues.dlang.org/show_bug.cgi?id=11693 --- Comment #1 from Vladimir Panteleev --- For Windows: GetThreadTimes For Linux: pthread_getcpuclockid + clock_gettime Seems doable! --
[Issue 11050] DDoc should provide file and line information
https://issues.dlang.org/show_bug.cgi?id=11050 Vladimir Panteleev changed: What|Removed |Added Keywords||ddoc --
[Issue 8381] Uniform function call syntax (pseudo member) enhancement suggestions
https://issues.dlang.org/show_bug.cgi?id=8381 Vladimir Panteleev changed: What|Removed |Added Status|NEW |RESOLVED Resolution|--- |INVALID --- Comment #8 from Vladimir Panteleev --- (In reply to Tommi from comment #0) > So, I'm suggesting these two features to be added to the language: Hello, Changes to the language need to be proposed through the DIP process: https://github.com/dlang/DIPs Bugzilla is not the correct place for language enhancements. If you still believe your proposal has merit, please submit a DIP. The current DIP manager can assist you through the process. --
[Issue 15806] DirEntry interface inconsistency
https://issues.dlang.org/show_bug.cgi?id=15806 Vladimir Panteleev changed: What|Removed |Added Keywords||trivial --
[Issue 17228] File size() can't determine file unsearchable on Windows.
https://issues.dlang.org/show_bug.cgi?id=17228 Vladimir Panteleev changed: What|Removed |Added Keywords||pull --- Comment #1 from Vladimir Panteleev --- https://github.com/dlang/phobos/pull/5549 --
[Issue 9530] std.path should have a function for getting the canonical path to a file or directory
https://issues.dlang.org/show_bug.cgi?id=9530 --- Comment #4 from Vladimir Panteleev --- (In reply to Jonathan M Davis from comment #3) > (In reply to Vladimir Panteleev from comment #2) > > Fmainly because I think historically libc did not provide an easy > > way to canonicalize a path without resolving symlinks. > > Resolving the symlinks is kind of the point here, because the idea is to > have a function that gives you a single path to a file when given different > paths to it so that you can know that they're the same file. And if you > don't resolve symlinks, you definitely can't do that. I think this is a vain quest, due to things such as hard links, binds, multiple mounts, subvolumes, network filesystems, various filesystem-specific shenanigans, and platform differences such as those on Windows. By itself, that requirement is meaningless without a context, and I suspect that in many cases, depending on the context, a better way to solve the problem exists. > I really have no idea how Windows symlinks work. So, I have no idea how > possible this sort of thing is with Windows symlinks, but the idea it least > is to be able to take a path name and get a single, canonical path for it so > that you can compare paths and have them be the same for the same file > regardless of how that file was originally referred to. Windows may or may > not make that possible. I think the same general issues with this idea apply to Windows. For instance, a volume can be mounted on a drive letter or inside a directory, and none is "more important" or "more canonical" than the other. --
[Issue 9530] std.path should have a function for getting the canonical path to a file or directory
https://issues.dlang.org/show_bug.cgi?id=9530 --- Comment #3 from Jonathan M Davis --- (In reply to Vladimir Panteleev from comment #2) > Fmainly because I think historically libc did not provide an easy > way to canonicalize a path without resolving symlinks. Resolving the symlinks is kind of the point here, because the idea is to have a function that gives you a single path to a file when given different paths to it so that you can know that they're the same file. And if you don't resolve symlinks, you definitely can't do that. I'd never heard of realpath before, but looking at its man page, it looks like it does what I'm talking about. > I'm not sure what to do with Windows, as there is no equivalent for it in > Windows libcs, and Windows implements symlinks (and reparse points in > general) very differently. I really have no idea how Windows symlinks work. So, I have no idea how possible this sort of thing is with Windows symlinks, but the idea it least is to be able to take a path name and get a single, canonical path for it so that you can compare paths and have them be the same for the same file regardless of how that file was originally referred to. Windows may or may not make that possible. --
[Issue 6114] immutable class variable not properly initialized when the constructor initializing it is non-shared
https://issues.dlang.org/show_bug.cgi?id=6114 --- Comment #5 from Jonathan M Davis --- Okay, self-contained example: bug.d class C { } immutable C theC; static this() { theC = new immutable C; } test.d import bug; shared static this() { assert(theC !is null); } void main() { } The assertion fails, but if you make the static constructor in bug.d shared, then it doesn't. --
[Issue 6114] immutable class variable not properly initialized when the constructor initializing it is non-shared
https://issues.dlang.org/show_bug.cgi?id=6114 --- Comment #4 from Jonathan M Davis --- Really, the larger issue is this one bug# 4923, and maybe this should be closed given that this is really just another manifestation of that, though if I can fix the example for this so that it's self-contained, it's a different sort of example for why immutable globals need to be initialized in shared, static constructors rather than thread-local ones. --
[Issue 4923] immutable module variables are modifiable in non-shared module constructors
https://issues.dlang.org/show_bug.cgi?id=4923 --- Comment #6 from Jonathan M Davis --- An updated example, since Thread.sleep now requires that its argument be a core.time.Duration: import core.thread, std.random, std.stdio; immutable int x; static this() { x = unpredictableSeed; } void main() { for(;;) { (new Thread({ })).start; Thread.sleep(seconds(1)); writeln(x); } } --
[Issue 17605] __traits(compiles, closure) adds link-time reference to _d_allocmemory
https://issues.dlang.org/show_bug.cgi?id=17605 ZombineDev changed: What|Removed |Added Keywords||betterC --
[Issue 17605] New: __traits(compiles, closure) adds link-time reference to _d_allocmemory
https://issues.dlang.org/show_bug.cgi?id=17605 Issue ID: 17605 Summary: __traits(compiles, closure) adds link-time reference to _d_allocmemory Product: D Version: D2 Hardware: All OS: All Status: NEW Severity: normal Priority: P1 Component: dmd Assignee: nob...@puremagic.com Reporter: petar.p.ki...@gmail.com While playing with '-betterC', and investigating which parts of the language are usable without the compiler emitting link-time references to druntime, I noticed that the following code: --- extern (C) void main() { int a; enum bool works = __traits(compiles, { a = 1; }); a = 1; } --- Produces an undefined reference to _d_allocmemory from druntime: $ dmd --version DMD64 D Compiler v2.074.1-master-de3cb1a (This is dmd nightly from 2017-07-05.) $ dmd -c -betterC test.d && nm test.o t U _d_allocmemory U _GLOBAL_OFFSET_TABLE_ W main While the following does not: --- extern (C) void main() { int a; a = 1; } --- --- // Also ok, as long as no closure-allocating lambdas // are used extern (C) void main() { int a; enum bool works = __traits(compiles, a = 1); pragma (msg, works); a = 1; } --- $ dmd -c -betterC test.d && nm test.o t U _GLOBAL_OFFSET_TABLE_ W main The result is also reproducible on Windows: > dmd --version DMD32 D Compiler v2.075.0-b1 Copyright (c) 1999-2017 by Digital Mars written by Walter Bright > dmd -c -betterC -m32mscoff test.d $ nm test.obj b .bss$B U _d_allocmemory d .data$B N .debug$S i .drectve T main p .pdata p $pdata$main r .rdata t .text t .text r $unwind$main r .xdata --
[Issue 15750] net/isemail uses lots of redundant helper methods
https://issues.dlang.org/show_bug.cgi?id=15750 Vladimir Panteleev changed: What|Removed |Added Hardware|x86_64 |All OS|Linux |All --
[Issue 11632] Old alias syntax accepts "ref"
https://issues.dlang.org/show_bug.cgi?id=11632 Vladimir Panteleev changed: What|Removed |Added Keywords||accepts-invalid --
[Issue 6114] immutable class variable not properly initialized when the constructor initializing it is non-shared
https://issues.dlang.org/show_bug.cgi?id=6114 --- Comment #3 from Vladimir Panteleev --- Jonathan, if this is still an issue, could you please post a complete self-contained minimal example? --
[Issue 11861] Unable to selectively import a nested symbol
https://issues.dlang.org/show_bug.cgi?id=11861 Vladimir Panteleev changed: What|Removed |Added Status|NEW |RESOLVED Resolution|--- |INVALID --- Comment #1 from Vladimir Panteleev --- I'm pretty sure that allowing to bind aliases for arbitrarily-nested symbols inside imported modules is not a feature that import statements are meant for. I suggest using a static import + fully-qualified alias in the importing module instead. --
[Issue 16052] Debugging not possible - probably wrong debug information
https://issues.dlang.org/show_bug.cgi?id=16052 Vladimir Panteleev changed: What|Removed |Added Status|NEW |RESOLVED Resolution|--- |INVALID --- Comment #1 from Vladimir Panteleev --- Sorry, but this is not enough information to act on. Please provide a complete example program, as well as complete steps to reproduce the issues you describe. Please also file one issue per bug. I'll close this since this is over a year old, but if you still have a complete reproducible test case, please reopen. --
[Issue 6095] switch executes code it shouldn't
https://issues.dlang.org/show_bug.cgi?id=6095 Vladimir Panteleev changed: What|Removed |Added See Also||https://issues.dlang.org/sh ||ow_bug.cgi?id=14532 --- Comment #1 from Vladimir Panteleev --- (In reply to Brad Roberts from comment #0) > // should be 0, there's no flow that should involve a being instantiated > // or destroyed > A51_a = 0; { if (1) switch(1) { A51 a; default: } } assert(A51_a == 1); This is now a deprecation (since https://github.com/dlang/dmd/pull/5869). --
[Issue 14532] switch block allows creating uninitialized variables
https://issues.dlang.org/show_bug.cgi?id=14532 Vladimir Panteleev changed: What|Removed |Added See Also||https://issues.dlang.org/sh ||ow_bug.cgi?id=6095 --
[Issue 11429] Deprecate walkLength?
https://issues.dlang.org/show_bug.cgi?id=11429 RazvanN changed: What|Removed |Added CC||razvan.nitu1...@gmail.com --- Comment #4 from RazvanN --- (In reply to Vladimir Panteleev from comment #3) > A controversial and high-impact rename is not really directly actionable as > an enhancement. The length optimization should be added either way --
[Issue 14222] emplace implicit dynamic to static array fails
https://issues.dlang.org/show_bug.cgi?id=14222 Vladimir Panteleev changed: What|Removed |Added CC||dlang-bugzilla@thecybershad ||ow.net --
[Issue 14222] emplace implicit dynamic to static array fails
https://issues.dlang.org/show_bug.cgi?id=14222 Vladimir Panteleev changed: What|Removed |Added CC|dlang-bugzilla@thecybershad | |ow.net | --
[Issue 10580] spawnShell/pipeShell changes some environment variables (incl. PATH)
https://issues.dlang.org/show_bug.cgi?id=10580 Vladimir Panteleev changed: What|Removed |Added Status|ASSIGNED|RESOLVED CC||dlang-bugzilla@thecybershad ||ow.net Resolution|--- |DUPLICATE --- Comment #6 from Vladimir Panteleev --- I believe this was fixed by https://github.com/dlang/phobos/pull/3051. *** This issue has been marked as a duplicate of issue 14282 *** --
[Issue 14282] executeShell should use sh and ignore the SHELL env variable
https://issues.dlang.org/show_bug.cgi?id=14282 Vladimir Panteleev changed: What|Removed |Added CC||thelastmamm...@gmail.com --- Comment #10 from Vladimir Panteleev --- *** Issue 10580 has been marked as a duplicate of this issue. *** --
[Issue 16287] update mixin template specs to reflect new import rules (as of 2.071)
https://issues.dlang.org/show_bug.cgi?id=16287 Vladimir Panteleev changed: What|Removed |Added Keywords||spec --
[Issue 10716] Horrifically slow compilation for array literals inside functions
https://issues.dlang.org/show_bug.cgi?id=10716 Vladimir Panteleev changed: What|Removed |Added Status|NEW |RESOLVED CC||dlang-bugzilla@thecybershad ||ow.net Resolution|--- |DUPLICATE --- Comment #5 from Vladimir Panteleev --- Fixed by https://github.com/dlang/dmd/pull/5085. *** This issue has been marked as a duplicate of issue 14886 *** --
[Issue 14886] [REG2.066] std.parallelism.parallel with large static array seems to hang compile
https://issues.dlang.org/show_bug.cgi?id=14886 Vladimir Panteleev changed: What|Removed |Added CC||clugd...@yahoo.com.au --- Comment #8 from Vladimir Panteleev --- *** Issue 10716 has been marked as a duplicate of this issue. *** --
[Issue 13103] struct initialization w/ null for Rebindable!(const Object) fails
https://issues.dlang.org/show_bug.cgi?id=13103 Vladimir Panteleev changed: What|Removed |Added Hardware|x86_64 |All OS|Linux |All --
[Issue 15604] [REG2.070] std.array.array of structs with template opAssign and default initialised 'new'ed class member
https://issues.dlang.org/show_bug.cgi?id=15604 Vladimir Panteleev changed: What|Removed |Added Status|NEW |RESOLVED CC||dlang-bugzilla@thecybershad ||ow.net Resolution|--- |INVALID --- Comment #4 from Vladimir Panteleev --- (In reply to John Colvin from comment #3) > On the topic of static initialisers with mutable indirections, what about > these: I believe all of those are invalid and should not compile. I filed issue 17604 for this (even though it's probably a duplicate of another issue filed somewhere), so I think we can now close this one. --
[Issue 13890] Comparing arrays within structs results in an assignment.
https://issues.dlang.org/show_bug.cgi?id=13890 Vladimir Panteleev changed: What|Removed |Added Status|NEW |RESOLVED CC||dlang-bugzilla@thecybershad ||ow.net Resolution|--- |INVALID --- Comment #5 from Vladimir Panteleev --- (In reply to b.j.dejong from comment #0) > struct Bug { > float[] elements = new float[4]; This code is invalid - Every instance of the "Bug" type will have its "elements" field will point to the same copy of the array. It should not have compiled. See issue 17604. --
[Issue 17604] New: Reject mutable fields initialized with reference types to data segment
https://issues.dlang.org/show_bug.cgi?id=17604 Issue ID: 17604 Summary: Reject mutable fields initialized with reference types to data segment Product: D Version: D2 Hardware: All OS: All Status: NEW Keywords: accepts-invalid Severity: normal Priority: P1 Component: dmd Assignee: nob...@puremagic.com Reporter: dlang-bugzi...@thecybershadow.net Consider: // test.d / class C { Object o = new Object; int[] arr = new int[4]; } /// The code above currently compiles, but will behave in a surprising manner. A user coming from another language may expect that there is a new instance of the object and array instantiated for every instance of C; however, this is not the case. In reality, .o and .arr will initially always point to the same data segment address for every instance of C. This anti-feature not only allows breaking the type system, but has been a repeated source of confusion for D users (see e.g. issue 13890, issue 15604). This code is invalid and should be rejected. --
[Issue 14704] The design, which allows not to write import, import, import ... for selective imports
https://issues.dlang.org/show_bug.cgi?id=14704 Vladimir Panteleev changed: What|Removed |Added Status|NEW |RESOLVED CC||dlang-bugzilla@thecybershad ||ow.net Resolution|--- |WONTFIX --- Comment #36 from Vladimir Panteleev --- Hello, Changes to the language need to be proposed through the DIP process: https://github.com/dlang/DIPs Bugzilla is not the correct place for language enhancements. If you still believe your proposal has merit, please submit a DIP. The current DIP manager can assist you through the process. --
[Issue 17365] https://dlang.org/phobos/std_experimental_checkedint.html is missing the Throw hook description
https://issues.dlang.org/show_bug.cgi?id=17365 --- Comment #1 from github-bugzi...@puremagic.com --- Commits pushed to master at https://github.com/dlang/phobos https://github.com/dlang/phobos/commit/74a8f6bb477563d1158a4c2528c6822784d1fecf Fix Issue 17365 - checkedint.html is missing the Throw hook description https://github.com/dlang/phobos/commit/84c0d12c3f47e297ba3ccfaa9498d8319336c319 Merge pull request #5544 from RazvanN7/Issue_17365 Fix Issue 17365 - checkedint.html is missing the Throw hook description merged-on-behalf-of: Jack Stouffer --
[Issue 9822] Using module variable of templated type parametrized by lambda
https://issues.dlang.org/show_bug.cgi?id=9822 Vladimir Panteleev changed: What|Removed |Added CC||dlang-bugzilla@thecybershad ||ow.net --- Comment #6 from Vladimir Panteleev --- (In reply to Dicebot from comment #0) > Motivating code snippet: BTW, this example works since https://github.com/dlang/phobos/pull/2534. The reductions in comment 1 and comment 5 still produce a segfaulting program. --
[Issue 9530] std.path should have a function for getting the canonical path to a file or directory
https://issues.dlang.org/show_bug.cgi?id=9530 Vladimir Panteleev changed: What|Removed |Added CC||dlang-bugzilla@thecybershad ||ow.net --- Comment #2 from Vladimir Panteleev --- This is a request for a realpath wrapper in Phobos, then? FWIW, I would argue that almost everywhere I've seen a usage of realpath, it was unnecessary and often even harmful - mainly because I think historically libc did not provide an easy way to canonicalize a path without resolving symlinks. But that's probably not a good reason to not provide a D wrapper for a standard C function. I'm not sure what to do with Windows, as there is no equivalent for it in Windows libcs, and Windows implements symlinks (and reparse points in general) very differently. --
[Issue 16564] KRRegion.empty sometimes returns Ternary.no
https://issues.dlang.org/show_bug.cgi?id=16564 Temtaime changed: What|Removed |Added Status|RESOLVED|REOPENED Resolution|FIXED |--- --- Comment #4 from Temtaime --- Increasing buffer size from 256 kb to 1 mb causes a crash or returns not empty again import std.stdio, std.random, std.typecons, std.algorithm, std.experimental.allocator.building_blocks; void main() { ubyte[1024 * 1024] buf; auto a = KRRegion!()(buf); while(true) { void[][] bufs; foreach(_; 0..10_000) { bufs ~= a.allocate(uniform(1, buf.length)); } foreach(b; bufs.randomCover) { a.deallocate(b); } if(a.empty == Ternary.no) break; } writeln(`all the elements are freed but allocator is not empty !`); } --
[Issue 11647] Different D sequence point rules
https://issues.dlang.org/show_bug.cgi?id=11647 Vladimir Panteleev changed: What|Removed |Added Keywords||spec CC||dlang-bugzilla@thecybershad ||ow.net --
[Issue 17593] __POS__ magical constant like __FILE__ and friends
https://issues.dlang.org/show_bug.cgi?id=17593 b2.t...@gmx.com changed: What|Removed |Added CC|b2.t...@gmx.com | --- Comment #5 from b2.t...@gmx.com --- The tuple solution while working is not ideal, tuple type is not infered so it cannot be upgraded automatically if the internal DMD tuple member changes. --