[Issue 17611] New: core.demangle cannot demangle delegates with function attributes

2017-07-05 Thread via Digitalmars-d-bugs
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

2017-07-05 Thread via Digitalmars-d-bugs
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

2017-07-05 Thread via Digitalmars-d-bugs
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

2017-07-05 Thread via Digitalmars-d-bugs
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

2017-07-05 Thread via Digitalmars-d-bugs
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

2017-07-05 Thread via Digitalmars-d-bugs
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

2017-07-05 Thread via Digitalmars-d-bugs
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

2017-07-05 Thread via Digitalmars-d-bugs
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

2017-07-05 Thread via Digitalmars-d-bugs
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

2017-07-05 Thread via Digitalmars-d-bugs
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.

2017-07-05 Thread via Digitalmars-d-bugs
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

2017-07-05 Thread via Digitalmars-d-bugs
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

2017-07-05 Thread via Digitalmars-d-bugs
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

2017-07-05 Thread via Digitalmars-d-bugs
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

2017-07-05 Thread via Digitalmars-d-bugs
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

2017-07-05 Thread via Digitalmars-d-bugs
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

2017-07-05 Thread via Digitalmars-d-bugs
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

2017-07-05 Thread via Digitalmars-d-bugs
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

2017-07-05 Thread via Digitalmars-d-bugs
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

2017-07-05 Thread via Digitalmars-d-bugs
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

2017-07-05 Thread via Digitalmars-d-bugs
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

2017-07-05 Thread via Digitalmars-d-bugs
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

2017-07-05 Thread via Digitalmars-d-bugs
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

2017-07-05 Thread via Digitalmars-d-bugs
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

2017-07-05 Thread via Digitalmars-d-bugs
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

2017-07-05 Thread via Digitalmars-d-bugs
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

2017-07-05 Thread via Digitalmars-d-bugs
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

2017-07-05 Thread via Digitalmars-d-bugs
https://issues.dlang.org/show_bug.cgi?id=9917

Vladimir Panteleev  changed:

   What|Removed |Added

   Keywords||performance

--


[Issue 16356] cdouble is broken

2017-07-05 Thread via Digitalmars-d-bugs
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

2017-07-05 Thread via Digitalmars-d-bugs
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

2017-07-05 Thread via Digitalmars-d-bugs
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

2017-07-05 Thread via Digitalmars-d-bugs
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

2017-07-05 Thread via Digitalmars-d-bugs
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

2017-07-05 Thread via Digitalmars-d-bugs
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

2017-07-05 Thread via Digitalmars-d-bugs
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

2017-07-05 Thread via Digitalmars-d-bugs
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

2017-07-05 Thread via Digitalmars-d-bugs
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

2017-07-05 Thread via Digitalmars-d-bugs
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

2017-07-05 Thread via Digitalmars-d-bugs
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

2017-07-05 Thread via Digitalmars-d-bugs
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

2017-07-05 Thread via Digitalmars-d-bugs
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

2017-07-05 Thread via Digitalmars-d-bugs
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

2017-07-05 Thread via Digitalmars-d-bugs
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

2017-07-05 Thread via Digitalmars-d-bugs
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

2017-07-05 Thread via Digitalmars-d-bugs
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

2017-07-05 Thread via Digitalmars-d-bugs
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

2017-07-05 Thread via Digitalmars-d-bugs
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

2017-07-05 Thread via Digitalmars-d-bugs
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

2017-07-05 Thread via Digitalmars-d-bugs
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

2017-07-05 Thread via Digitalmars-d-bugs
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

2017-07-05 Thread via Digitalmars-d-bugs
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

2017-07-05 Thread via Digitalmars-d-bugs
https://issues.dlang.org/show_bug.cgi?id=4447

Vladimir Panteleev  changed:

   What|Removed |Added

   Keywords||performance

--


[Issue 4123] BitArray this() with length

2017-07-05 Thread via Digitalmars-d-bugs
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.

2017-07-05 Thread via Digitalmars-d-bugs
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

2017-07-05 Thread via Digitalmars-d-bugs
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

2017-07-05 Thread via Digitalmars-d-bugs
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

2017-07-05 Thread via Digitalmars-d-bugs
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

2017-07-05 Thread via Digitalmars-d-bugs
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

2017-07-05 Thread via Digitalmars-d-bugs
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

2017-07-05 Thread via Digitalmars-d-bugs
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

2017-07-05 Thread via Digitalmars-d-bugs
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

2017-07-05 Thread via Digitalmars-d-bugs
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

2017-07-05 Thread via Digitalmars-d-bugs
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

2017-07-05 Thread via Digitalmars-d-bugs
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

2017-07-05 Thread via Digitalmars-d-bugs
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

2017-07-05 Thread via Digitalmars-d-bugs
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.

2017-07-05 Thread via Digitalmars-d-bugs
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

2017-07-05 Thread via Digitalmars-d-bugs
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

2017-07-05 Thread via Digitalmars-d-bugs
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

2017-07-05 Thread via Digitalmars-d-bugs
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

2017-07-05 Thread via Digitalmars-d-bugs
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

2017-07-05 Thread via Digitalmars-d-bugs
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

2017-07-05 Thread via Digitalmars-d-bugs
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

2017-07-05 Thread via Digitalmars-d-bugs
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

2017-07-05 Thread via Digitalmars-d-bugs
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"

2017-07-05 Thread via Digitalmars-d-bugs
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

2017-07-05 Thread via Digitalmars-d-bugs
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

2017-07-05 Thread via Digitalmars-d-bugs
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

2017-07-05 Thread via Digitalmars-d-bugs
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

2017-07-05 Thread via Digitalmars-d-bugs
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

2017-07-05 Thread via Digitalmars-d-bugs
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?

2017-07-05 Thread via Digitalmars-d-bugs
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

2017-07-05 Thread via Digitalmars-d-bugs
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

2017-07-05 Thread via Digitalmars-d-bugs
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)

2017-07-05 Thread via Digitalmars-d-bugs
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

2017-07-05 Thread via Digitalmars-d-bugs
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)

2017-07-05 Thread via Digitalmars-d-bugs
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

2017-07-05 Thread via Digitalmars-d-bugs
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

2017-07-05 Thread via Digitalmars-d-bugs
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

2017-07-05 Thread via Digitalmars-d-bugs
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

2017-07-05 Thread via Digitalmars-d-bugs
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.

2017-07-05 Thread via Digitalmars-d-bugs
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

2017-07-05 Thread via Digitalmars-d-bugs
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

2017-07-05 Thread via Digitalmars-d-bugs
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

2017-07-05 Thread via Digitalmars-d-bugs
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

2017-07-05 Thread via Digitalmars-d-bugs
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

2017-07-05 Thread via Digitalmars-d-bugs
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

2017-07-05 Thread via Digitalmars-d-bugs
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

2017-07-05 Thread via Digitalmars-d-bugs
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

2017-07-05 Thread via Digitalmars-d-bugs
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.

--


  1   2   >