[Issue 6410] Few common exceptions in std.exception

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

Jonathan M Davis  changed:

   What|Removed |Added

 CC||issues.dl...@jmdavisprog.co
   ||m

--- Comment #3 from Jonathan M Davis  ---
I'm very tempted to close this as "won't fix." Here's a semi-recent discussion
on this issue:

http://forum.dlang.org/post/dslphmvguipxocdlj...@forum.dlang.org

and this is probably my best post in there about why general exception types
like this are a bad idea:

http://forum.dlang.org/post/mailman.1239.1490287548.31550.digitalmar...@puremagic.com

Andrei did not weigh in on the topic, but Walter was in clear agreement with me
that this sort of approach is a bad idea.

--


[Issue 9693] unclear scoping behaviour of declarations made in static if conditions

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

Vladimir Panteleev  changed:

   What|Removed |Added

   Keywords||accepts-invalid

--


[Issue 15373] Segfault when using typeid on extern(C++) class with virtual functions

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

Vladimir Panteleev  changed:

   What|Removed |Added

   Keywords||accepts-invalid, C++

--


[Issue 15640] type inference in variadic array params not working for classes

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

Vladimir Panteleev  changed:

   What|Removed |Added

   Hardware|x86_64  |All
 OS|Linux   |All

--


[Issue 15140] std.experimental.allocator.building_blocks.free_list.FreeList leaks memory

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

Vladimir Panteleev  changed:

   What|Removed |Added

 CC||and...@erdani.com

--


[Issue 11405] rdmd should limit its tmp cache

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

Vladimir Panteleev  changed:

   What|Removed |Added

  Component|dmd |tools

--- Comment #3 from Vladimir Panteleev  ---
With /tmp being a tmpfs on many distros today, and Windows' disk cleanup
utility knowing about and deleting the %TEMP% directory on request or when the
disk gets full, this may not be as much of an issue nowadays, though still may
be worth fixing.

--


[Issue 16650] Wrong mangling for extern(C++) with posix stat_t

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

Vladimir Panteleev  changed:

   What|Removed |Added

   Keywords||C++
   Hardware|x86_64  |All

--


[Issue 15587] Enable use of D keywords as identifiers when interfacing to C/C++

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

--- Comment #2 from Vladimir Panteleev  ---
In this particular case, the easiest workaround is to use pragma(mangle),
right?

I understand that this is more useful for C++ functions, whose mangling is
non-trivial.

--


[Issue 16650] Wrong mangling for extern(C++) with posix stat_t

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

Vladimir Panteleev  changed:

   What|Removed |Added

 Status|NEW |RESOLVED
 Resolution|--- |INVALID

--- Comment #2 from Vladimir Panteleev  ---
(In reply to Jacob Carlborg from comment #1)
> Not sure why it's called "stat_t" in the D version when it's
> called "stat" in the C headers.

It's because in C, "stat" is both the name of a struct and a function. This is
not a problem for C because structs in C have their own namespace (unless you
typedef them), but there is no equivalent in D.

There are some workarounds available:

- You can use extern(C) to link the D declaration with the C definition. As
argument types are not mangled with C linkage, type name mismatches will not
result in a link error.
- You can use pragma(mangle) on the D side to directly override a function's
mangled name;
- Finally, on the D side you could declare the function as:

struct stat;
void myFunc(stat*){}

then cast the stat_t* to stat* when invoking the function.

As this is not a bug in D and simple workarounds exist, I'll close this, but
feel free to reopen if you can present actionable ideas for improving the
situation.

--


[Issue 5276] Template compilation uses much more memory than G++ 4.8

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

Vladimir Panteleev  changed:

   What|Removed |Added

 Status|NEW |RESOLVED
 Resolution|--- |WORKSFORME

--- Comment #5 from Vladimir Panteleev  ---
Fixed by https://github.com/dlang/dmd/pull/2239 - compilation is under one
second now.

--


[Issue 5276] Template compilation uses much more memory than G++ 4.8

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

Vladimir Panteleev  changed:

   What|Removed |Added

   Hardware|x86 |All
 OS|Windows |All

--


[Issue 17482] [REG 2.074] comile error: Comparing Nullable!Variant with basic type

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

github-bugzi...@puremagic.com changed:

   What|Removed |Added

 Status|NEW |RESOLVED
 Resolution|--- |FIXED

--


[Issue 17482] [REG 2.074] comile error: Comparing Nullable!Variant with basic type

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

--- Comment #5 from github-bugzi...@puremagic.com ---
Commits pushed to stable at https://github.com/dlang/phobos

https://github.com/dlang/phobos/commit/a7ea880eb24a36e09e50de7b8b32d941110aa630
Fix issue 17482: Fix Nullable!Variant equality checks.

https://github.com/dlang/phobos/commit/d07b10148dcfbf494a8f433ebf5646a4cb8d1b10
Merge pull request #5541 from jmdavis/issue_17482

Fix issue 17482: Fix Nullable!Variant equality checks.
merged-on-behalf-of: Sebastian Wilzbach 

--


[Issue 10185] Linker errors with rdmd

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

Vladimir Panteleev  changed:

   What|Removed |Added

 Status|NEW |RESOLVED
 Resolution|--- |WORKSFORME

--- Comment #1 from Vladimir Panteleev  ---
Fairly sure this has since been fixed, as rdmd has receieved a ton of
reliability improvements since 2013. Please reopen if you can still reproduce
this.

--


[Issue 5077] std.algorithm.schwartzSort is slow

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

Vladimir Panteleev  changed:

   What|Removed |Added

   Hardware|x86 |All
 OS|Windows |All

--- Comment #6 from Vladimir Panteleev  ---
Still reproducible in 2017.

FWIW, with LDC, the difference is smaller: only schwartzSort is slower than
regular sort only by about one third rather than being about twice as slow.

--


[Issue 16564] KRRegion.empty sometimes returns Ternary.no

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

--- Comment #6 from Andrei Alexandrescu  ---
@Temtaime should this stay open?

--


[Issue 12372] Forward reference error with auto type inference in overloaded functions

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

Vladimir Panteleev  changed:

   What|Removed |Added

 Status|NEW |RESOLVED
 Resolution|--- |WORKSFORME

--- Comment #1 from Vladimir Panteleev  ---
Fixed by https://github.com/dlang/dmd/pull/5202.

--


[Issue 17619] [REG2.072] Wrong debug line information with single line loops

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

Martin Krejcirik  changed:

   What|Removed |Added

   Keywords||symdeb

--


[Issue 13153] dlang.org: provide version-specific documentation of the language and stdlib

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

--- Comment #7 from github-bugzi...@puremagic.com ---
Commit pushed to master at https://github.com/dlang/dlang.org

https://github.com/dlang/dlang.org/commit/b0a06c7deab4b8093d6e1fe7f592001d60a3e7c1
Fix issue 13153 - Add a version chooser to DDoc pages

--


[Issue 4354] Phobos should expose per-thread errno

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

--- Comment #4 from Andrei Alexandrescu  ---
This is a reproducible problem on Windows (at least with wine). We use a C
small file in druntime (src/core/stdc/errno.c) to make sure we use the C macro.
Far as I can tell the same technique is used across Windows and Posix, which
indicates the problem is with dmc's stdlib.

--


[Issue 17526] Add a set method for AA

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

--- Comment #5 from Vladimir Panteleev  ---
BTW, the performance use case of the proposed set method (which I called
getOrAdd in my hashmap implementation):

struct S { int i, j, k, l, m; /* etc. */ }
S[int] aa;

// The goal is to increment aa[x].k
// If aa[x] doesn't exist, initialize it with S.init
// Currently, you have to do this:

if (auto p = x in aa)
(*p).k++;
else
{
S s;
s.k = 1;
aa[x] = s;  // Wasteful - double lookup
}

--


[Issue 17619] New: [REG2.072] Wrong debug line information with single line loops

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

  Issue ID: 17619
   Summary: [REG2.072] Wrong debug line information with single
line loops
   Product: D
   Version: D2
  Hardware: All
OS: Linux
Status: NEW
  Severity: regression
  Priority: P1
 Component: dmd
  Assignee: nob...@puremagic.com
  Reporter: m...@krej.cz

void main()
{
foreach (i; 0 .. 3)
i++;

int bad; // shown during loop
}

Breakpoint 1, D main () at loop3.d:3
3   foreach (i; 0 .. 3)
(gdb) n
4   i++;
(gdb)
6   int bad; // shown during loop
(gdb)
4   i++;
(gdb)
6   int bad; // shown during loop
(gdb)
4   i++;
(gdb)
6   int bad; // shown during loop
(gdb)
6   int bad; // shown during loop
(gdb)
7   }

When compiled with older DMD:

Breakpoint 1, D main () at loop3.d:3
3   foreach (i; 0 .. 3)
(gdb) n
4   i++;
(gdb)
3   foreach (i; 0 .. 3)
(gdb)
4   i++;
(gdb)
3   foreach (i; 0 .. 3)
(gdb)
4   i++;
(gdb)
3   foreach (i; 0 .. 3)
(gdb)
6   int bad; // shown during loop
(gdb)
7   }

Introduced by https://github.com/dlang/dmd/pull/2867

--


[Issue 17526] Add a set method for AA

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

--- Comment #4 from Vladimir Panteleev  ---
(In reply to hsteoh from comment #3)
> What about a const overload to opIndexAssign that lets you assign to a new
> key, but aborts if the key already exists?

I'm not sure; I think the semantics would be a bit surprising. E.g. generally
if is(typeof(aa[key]=value)) is true, you'd expect it to work at runtime as
well (for POD types, at least).

> I'm a little hesitant about
> adding a whole new method to set a key in an AA.

I think it would be useful, but I agree it's a bigger addition that might use
more discussion. Not enough for a DIP, but it could be discussed in the pull
request if one were to make one.

I know Martin wants to give a templated AA implementation another go soon:
https://wiki.dlang.org/Vision/2017H2_draft

--


[Issue 12949] Project compilation time increased by 64% for last half year

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

--- Comment #5 from Vladimir Panteleev  ---
(In reply to Rainer Schuetze from comment #3)
> An error occured while loading the graph data (data/data.json)
> parsererror: SyntaxError: Unexpected end of JSON input

BTW, that error manifests because the amount of data has grown so large that
browsers now choke on it. I need to seriously refactor the front end to make it
stream in data as needed from the server instead of loading it all at once.

--


[Issue 12949] Project compilation time increased by 64% for last half year

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

--- Comment #4 from Vladimir Panteleev  ---
(In reply to Rainer Schuetze from comment #3)
> What about "Is D slim yet?" http://digger.k3.1azy.net/trend/ produces an
> error for me:
> 
> An error occured while loading the graph data (data/data.json)
> parsererror: SyntaxError: Unexpected end of JSON input

Yep, that was my effort on improving the situation with regards to the general
problem.

That project has been superseded by a CI system which integrated it, however I
abandoned work on the CI system after being told custom CI systems are a bad
idea.

--


[Issue 12949] Project compilation time increased by 64% for last half year

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

Rainer Schuetze  changed:

   What|Removed |Added

 CC||r.sagita...@gmx.de

--- Comment #3 from Rainer Schuetze  ---
What about "Is D slim yet?" http://digger.k3.1azy.net/trend/ produces an error
for me:

An error occured while loading the graph data (data/data.json)
parsererror: SyntaxError: Unexpected end of JSON input

--


[Issue 9776] Make raw write mode the default

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

Vladimir Panteleev  changed:

   What|Removed |Added

 Status|REOPENED|RESOLVED
 Resolution|--- |WONTFIX

--- Comment #8 from Vladimir Panteleev  ---
Whether you agree or disagree, everything here works "as designed", i.e. "do
what C does".

As explained, changing the default behaviour of File.open would be a breaking
change and is not going to happen.

--


[Issue 12949] Project compilation time increased by 64% for last half year

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

Vladimir Panteleev  changed:

   What|Removed |Added

 Status|NEW |RESOLVED
 Resolution|--- |WONTFIX

--- Comment #2 from Vladimir Panteleev  ---
Unfortunately this issue is not actionable.

Tracking compilation performance is something we want to do in general, but it
is a very broad subject.

Tracking a regression in build time of a specific project may be more directly
actionable (or at least possible to investigate), but no test case has been
provided.

I'll close this as it was filed 3 years ago, and there doesn't seem to be much
utility in leaving this open today.

--


[Issue 7623] Allow aliasing of symbols of an aliased subtype

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

--- Comment #1 from Vladimir Panteleev  ---
Pretty sure this can't work for the same reason `alias foo.isOne isTwo` doesn't
work - you can't alias an expression.

--


[Issue 12995] Include UDA in JSON output

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

Vladimir Panteleev  changed:

   What|Removed |Added

   Keywords||json

--


[Issue 16531] Protected members not accessible in delegate bodies

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

Vladimir Panteleev  changed:

   What|Removed |Added

   Keywords||rejects-valid
   Hardware|x86_64  |All
 OS|Windows |All

--


[Issue 13605] Add ability to `version` a module declaration

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

Vladimir Panteleev  changed:

   What|Removed |Added

 Status|NEW |RESOLVED
 Resolution|--- |WONTFIX

--- Comment #10 from Vladimir Panteleev  ---
No, no, no, no, no.

Module names must match file names. The compiler allowed them to not match
mainly for historical reasons (compatibility with C build systems). Nowadays
build / instrumentation / etc. tools all make this assumption. Perpetuating
this anti-feature is only harming the D ecosystem by putting unreasonable
burden on tool developers.

The task as described in the original issue description is canonically solved
with a public import.

--


[Issue 16499] Misleading error message for 'in' operator with wrong argument

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

Vladimir Panteleev  changed:

   What|Removed |Added

 CC||bearophile_h...@eml.cc

--- Comment #4 from Vladimir Panteleev  ---
*** Issue 3905 has been marked as a duplicate of this issue. ***

--


[Issue 3905] Wrong error message with wrong opBinary("in")

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

Vladimir Panteleev  changed:

   What|Removed |Added

 Status|REOPENED|RESOLVED
 Resolution|--- |DUPLICATE

--- Comment #7 from Vladimir Panteleev  ---
The error message is now:

test.d(7): Error: incompatible types for ((3) in (Group(1, 2))): 'int' and
'Group'

Fixed by https://github.com/dlang/dmd/pull/6140

*** This issue has been marked as a duplicate of issue 16499 ***

--


[Issue 17618] parse booktables manually to check whether symbols haven't been mentioned

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

--- Comment #1 from Seb  ---
See also: https://github.com/dlang-community/D-Scanner/issues/494

--


[Issue 17618] New: parse booktables manually to check whether symbols haven't been mentioned

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

  Issue ID: 17618
   Summary: parse booktables manually to check whether symbols
haven't been mentioned
   Product: D
   Version: D2
  Hardware: x86_64
OS: Linux
Status: NEW
  Severity: enhancement
  Priority: P1
 Component: dlang.org
  Assignee: nob...@puremagic.com
  Reporter: greensunn...@gmail.com

Grouped booktables are awesome - they look very nice and give the reader and
quick overview (except for std.traits).

However, it repeatedly happened that when new symbols get added, these
booktables aren't updated.

Two ideas:

For all modules with a booktable

1) Parse the public symbols and check whether all have been mentioned in the
module comment (a simple `find` could do)
2) Use a Group: xxx key in the function comment header and build the booktable
as postprocessing of Ddoc.

Probably doing (1) as a DScanner check is the easiest.

https://github.com/dlang/phobos/pull/5570/files

--


[Issue 7179] Hash algorithm vulnerable to algorithmic complexity attacks

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

Vladimir Panteleev  changed:

   What|Removed |Added

   Priority|P2  |P1
   Severity|normal  |critical

--


[Issue 9137] A function that equals to "out of scope" action for manual lifetime management

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

Vladimir Panteleev  changed:

   What|Removed |Added

 Status|NEW |RESOLVED
 Resolution|--- |WONTFIX

--- Comment #2 from Vladimir Panteleev  ---
The PR was rejected, closing.

https://github.com/dlang/phobos/pull/929#issuecomment-11167033

--


[Issue 9139] `destroy` is dangerous and inconsistent

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

Vladimir Panteleev  changed:

   What|Removed |Added

   Keywords|wrong-code  |
 Status|NEW |RESOLVED
 Resolution|--- |INVALID

--- Comment #2 from Vladimir Panteleev  ---
(In reply to Denis Shelomovskii from comment #0)
> It also behaves fine in some cases. But it
> will do unpredictable things in other cases.

This bug report is close to useless due to vague language like that.

As it was filed close to 5 years ago, and Object.destroy has received updates
since then, I am going to close this, but please reopen if you think this is
still an issue and can present concrete examples of problematic code.

--


[Issue 13397] allow postfix function attributes like 'safe', 'system' and so on without '@'

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

Vladimir Panteleev  changed:

   What|Removed |Added

   Keywords||patch
 Status|NEW |RESOLVED
 Resolution|--- |WONTFIX

--- Comment #14 from Vladimir Panteleev  ---
Such language changes need to be proposed through the DIP process:

https://github.com/dlang/DIPs

Bugzilla is not the correct place for language enhancements. Without a DIP,
this patch will not be accepted, so there's no point in keeping this issue
open.

--


[Issue 6410] Few common exceptions in std.exception

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

RazvanN  changed:

   What|Removed |Added

 CC||razvan.nitu1...@gmail.com

--- Comment #2 from RazvanN  ---
Actually, I think NotComparable is the best pick.

--


[Issue 17308] [TEST/PROCESS] Beta releases should not be built with -release

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

Vladimir Panteleev  changed:

   What|Removed |Added

 Status|NEW |RESOLVED
 Resolution|--- |WONTFIX

--- Comment #1 from Vladimir Panteleev  ---
> Beta releases should not be built with -release 

Err, no, beta releases should be as close as possible to the final release.
I've lost count of the number of times I shipped a broken build of some project
only because the bug was not reproducible in the debug version. So, I'm pretty
sure having different build flags for betas and releases a bad idea.

Nightly builds are a different story and I think could be built with
assertions.

I'm closing this as WONTFIX as I'm pretty sure the issue as stated would be a
bad idea, but please reopen if you can argument the opposite or can suggest
some other actionable way to improve the situation.

--


[Issue 15005] Coverage files start with a dash character when using full pathname for source files with -cov

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

Vladimir Panteleev  changed:

   What|Removed |Added

   Hardware|x86_64  |All
 OS|Linux   |All

--


[Issue 1816] Parameter names not visible in return type in function declarations

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

Vladimir Panteleev  changed:

   What|Removed |Added

 Status|ASSIGNED|NEW
   Hardware|x86 |All
 OS|Linux   |All

--


[Issue 9872] format should include class field values

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

Vladimir Panteleev  changed:

   What|Removed |Added

   Keywords||patch

--- Comment #4 from Vladimir Panteleev  ---
(In reply to Andrej Mitrovic from comment #2)
> +if (dg.funcptr != )

Pretty devious. I think it's not unreasonable.

--


[Issue 8680] Provide additional iteration modes for dirEntries

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

Vladimir Panteleev  changed:

   What|Removed |Added

Summary|SpanMode.breadth is |Provide additional
   |incorrectly named and   |iteration modes for
   |implementation fails in |dirEntries
   |Linux   |
   Severity|normal  |enhancement

--- Comment #13 from Vladimir Panteleev  ---
Documentation PR was merged, converting this to an enhancement request.

--


[Issue 8680] SpanMode.breadth is incorrectly named and implementation fails in Linux

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

--- Comment #12 from github-bugzi...@puremagic.com ---
Commits pushed to master at https://github.com/dlang/phobos

https://github.com/dlang/phobos/commit/efd740e55132a7c0fce4de4263104d599233e066
Improve documentation of std.file.SpanMode (issue 8680)

This clarifies the terminology used for describing the iteration order
of dirEntries, as the current terminology has been found misleading.

https://github.com/dlang/phobos/commit/8fadb88f8d3c279cc0595ca4167a28aacf7d184e
Merge pull request #5569 from CyberShadow/pull-20170707-153926

Improve documentation of std.file.SpanMode (issue 8680)
merged-on-behalf-of: H. S. Teoh <quick...@users.noreply.github.com>

--


[Issue 17526] Add a set method for AA

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

--- Comment #3 from hst...@quickfur.ath.cx ---
@Vladimir: you have a good point, it should still be possible to append stuff
to the AA.

What about a const overload to opIndexAssign that lets you assign to a new key,
but aborts if the key already exists?  I'm a little hesitant about adding a
whole new method to set a key in an AA.  I'm not sure what to do about the
abort... throw an AssertError? RangeError?

--


[Issue 11612] Inconsistent error on negative new array size

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

Vladimir Panteleev  changed:

   What|Removed |Added

   Keywords||accepts-invalid

--- Comment #3 from Vladimir Panteleev  ---
Marking this as accepts-invalid because, ideally, we want to reject all
negative integer literals where they don't belong, before their conversion to
size_t.

--


[Issue 15831] IFTI voldemort type exploding bloat

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

hst...@quickfur.ath.cx changed:

   What|Removed |Added

 CC||hst...@quickfur.ath.cx

--


[Issue 3573] pure and nothrow allow function return type to be inferred

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

Vladimir Panteleev  changed:

   What|Removed |Added

 Status|NEW |RESOLVED
 Resolution|--- |WORKSFORME

--- Comment #4 from Vladimir Panteleev  ---
(In reply to Michal Minich from comment #0)
> 1. it is possible to declare function without specifying return type.
> 
> pure foo () {}
> pure foo () {}
> pure nothrow foo () {}

These are now implied to have an "auto" return type, i.e.:

pure foo () {}
pure bar () { return 1; }

pragma(msg, typeof(foo()).stringof); // prints "void"
pragma(msg, typeof(bar()).stringof); // prints "int"

--


[Issue 8680] SpanMode.breadth is incorrectly named and implementation fails in Linux

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

--- Comment #11 from Vladimir Panteleev  ---
(In reply to entheh from comment #10)
> (Poor devs who end up fixing this bug - it now contains a very long
> discussion and a multitude of separate requests, from 'names are wrong' to
> several new feature requests! Sorry ><)

Too late to fix the names, but we can still improve the documentation:

https://github.com/dlang/phobos/pull/5569

--


[Issue 6138] Using dirEntries and chdir() can have unwanted results

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

--- Comment #4 from Vladimir Panteleev  ---
(In reply to RazvanN from comment #3)
> After analyzing the code I see that dirEntries does not call absolutePath on
> the path, which in my opinion is a bug. Even though I cannot reproduce the
> bug, I think a call to absolutePath should definitely be added

That might break things.

~ $ mkdir -p a/b/c
~ $ cd a/b/c
~/a/b/c $ touch a
~/a/b/c $ ls
a
~/a/b/c $ ls ~/a/b/c
a
~/a/b/c $ chmod 000 ~/a/b
~/a/b/c $ ls
a
~/a/b/c $ ls ~/a/b/c
ls: cannot access '/home/vladimir/a/b/c': Permission denied
~/a/b/c $ 

I think the correct solution would be to use fdopendir and openat (on POSIX).

--


[Issue 4354] Phobos should expose per-thread errno

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

Vladimir Panteleev  changed:

   What|Removed |Added

 Status|RESOLVED|REOPENED
 Resolution|WORKSFORME  |---

--- Comment #3 from Vladimir Panteleev  ---
(In reply to RazvanN from comment #2)
> Don't mind my previous comment,

I guess this should remain open, then.

--


[Issue 7970] @property does not properly disambiguate delegate properties

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

--- Comment #5 from Jonathan M Davis  ---
(In reply to Vladimir Panteleev from comment #4)
> Wouldn't "fixing" this today be a breaking language change?
> 
> As far as I understand, such changes now need to go through the DIP process,
> though if they're going to break code, that's unlikely to go anywhere.
> 
> Does this issue have a snowball's chance in hell to be fixed? If not, then
> it's pointless to keep it open.

It's probably the only thing related to @property that _does_ have a chance of
being fixed. It does require a DIP though.

--


[Issue 6114] immutable class variable not properly initialized when the constructor initializing it is non-shared

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

--- Comment #8 from Jonathan M Davis  ---
(In reply to Steven Schveighoffer from comment #6)
> The example isn't exactly pointing out the error.
> 
> There are 2 problems here, one is an expectation that a non-shared static
> ctor might run before the shared one (it doesn't, the order is clearly
> defined). That's not really a bug.
> 
> The second is that immutable (shared) data is changing from one thread to
> the next.

Really. what this shows is a side effect of the fact that it's currently
possible to instantiate an object that's treated as shared in a non-shared,
static constructor. It's the fact that the compiler let's you initialize
non-local immutable variables in a non-shared, static constructor that's the
bug. And once that's fixed, this problem goes away.

> I think this should be closed as a dup of 4923.

They're different symptoms of the same bug. So, I have no problem with that.

--


[Issue 6106] Keep track of changes during replace function

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

--- Comment #3 from Andrei Alexandrescu  ---
"Optional" here means "an overload with 4 parameters"

--


[Issue 17616] makeIndex cannot fully use range of index type

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

--- Comment #1 from github-bugzi...@puremagic.com ---
Commit pushed to master at https://github.com/dlang/phobos

https://github.com/dlang/phobos/commit/54bda1e5bcb98f898342c51186f659293f73aa86
fix Issue 17616 - makeIndex cannot fully use range of index type

--


[Issue 17617] New: No RIP relative addressing available in x64 inline assembly (iasm)

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

  Issue ID: 17617
   Summary: No RIP relative addressing available in x64 inline
assembly (iasm)
   Product: D
   Version: D2
  Hardware: x86_64
OS: All
Status: NEW
  Keywords: iasm, rejects-valid
  Severity: normal
  Priority: P1
 Component: dmd
  Assignee: nob...@puremagic.com
  Reporter: marco.le...@gmx.de

The following should load the code address after the `mov` instruction into
EAX.

void main() {
asm @nogc pure {
mov EAX, [RIP];
}
}

But the compiler (dmd 2.074.1) does not recognize RIP as a register and instead
prints: "undefined label RIP"

--


[Issue 6138] Using dirEntries and chdir() can have unwanted results

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

--- Comment #3 from RazvanN  ---
After analyzing the code I see that dirEntries does not call absolutePath on
the path, which in my opinion is a bug. Even though I cannot reproduce the bug,
I think a call to absolutePath should definitely be added

--


[Issue 15745] Inline Assembly stomped on by Profiling

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

Marco Leise  changed:

   What|Removed |Added

   Keywords||iasm
 CC||marco.le...@gmx.de

--


[Issue 6161] iasm opcode family Jcc use absolute address instead of relative for functions

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

Marco Leise  changed:

   What|Removed |Added

   Keywords||iasm

--


[Issue 12878] inline asm memory operand always uses 64-bit addressing

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

Marco Leise  changed:

   What|Removed |Added

   Keywords||iasm

--


[Issue 5740] Unable to use "this" pointer in inline assembly

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

Marco Leise  changed:

   What|Removed |Added

   Keywords||iasm

--


[Issue 6138] Using dirEntries and chdir() can have unwanted results

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

RazvanN  changed:

   What|Removed |Added

 CC||razvan.nitu1...@gmail.com

--- Comment #2 from RazvanN  ---
Is this still valid? The code seems to have changes significantly (rel2abs
doesn't exist anymore) and I cannot reproduce with std.file.absolutePath.

--


[Issue 15304] [REG 2.068.0] Error about SortedRange not being nothrow in debug mode

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

--- Comment #10 from Seb  ---
> So I'm inferring from your answer, this won't get in the changelog.

Yes.

> We can just add it manually to an older version right?

Yes -> https://github.com/dlang/dlang.org/blob/master/changelog/2.072.0.dd

--


[Issue 15304] [REG 2.068.0] Error about SortedRange not being nothrow in debug mode

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

--- Comment #9 from Steven Schveighoffer  ---
So I'm inferring from your answer, this won't get in the changelog.

Because technically, this should be in the changelog on an older release of D.
It was fixed at some point, inadvertently, but the bug was not closed at that
time. Is there any recourse for updating an old changelog? We can just add it
manually to an older version right?

--


[Issue 15304] [REG 2.068.0] Error about SortedRange not being nothrow in debug mode

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

--- Comment #8 from Seb  ---
> ust curious, how does such a fix get put into the changelog? Or does it not 
> make it in?

https://github.com/dlang-bots/dlang-bot#automated-references

For every release the changed.d script aggregates all commits of all six dlang
repos (dmd,druntime,phobos,tools,dlang.org,installer) and searches for the
Bugzilla Issue regex.
Hence, it's important to link issues with the Dlang-Bot.

Moreover, since 2.073 the changed.d also aggregates all *.dd files in the
/changelog folders of the dlang repos.

Btw since 2.074.0 we automatically generate the pending changelog, e.g.
https://dlang.org/changelog/2.075.0_pre.html

[1] https://github.com/dlang/tools/blob/master/changed.d

--


[Issue 15304] [REG 2.068.0] Error about SortedRange not being nothrow in debug mode

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

--- Comment #7 from Steven Schveighoffer  ---
Just curious, how does such a fix get put into the changelog? Or does it not
make it in?

--


[Issue 17616] New: makeIndex cannot fully use range of index type

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

  Issue ID: 17616
   Summary: makeIndex cannot fully use range of index type
   Product: D
   Version: D2
  Hardware: All
OS: All
Status: NEW
  Severity: normal
  Priority: P1
 Component: phobos
  Assignee: nob...@puremagic.com
  Reporter: c...@dawg.eu

cat > bug.d << CODE
void main()
{
import std.algorithm, std.range;

ubyte[256] index = void;
iota(256).makeIndex(index[]);
assert(index[].equal(iota(256)));
}
CODE
dmd -run bug

object.Exception@/usr/include/dmd/phobos/std/algorithm/sorting.d(997): Cannot
create an index with element type ubyte with length 256.


The maximum index value for a range of length 256 is 255, which fits nicely
into a ubyte.
makeIndex should support converting a full range of e.g. ubyte[256] or
ushort[65536] into an index of ubyte[256] or ushort[65536] as it's a nice way
to obtain a bijective inverse mapping of such a range.

--


[Issue 6106] Keep track of changes during replace function

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

RazvanN  changed:

   What|Removed |Added

 CC||razvan.nitu1...@gmail.com

--- Comment #2 from RazvanN  ---
(In reply to Andrei Alexandrescu from comment #1)
> This seems to have merit. Perhaps an optional last ref size_t parameter
> would fit the bill.

You can't have optional ref parameters. At the moment the language only
supports default parameters (which we consider optional), but having a ref
size_t parameter would imply something along the lines of foo(ref size_t a =
value), where value would be the address of the parameter. We can still
implement this by overloading the function

--


[Issue 5441] std.random.rndGen always returns Random.

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

RazvanN  changed:

   What|Removed |Added

 Status|NEW |RESOLVED
 CC||razvan.nitu1...@gmail.com
 Resolution|--- |INVALID

--


[Issue 4354] Phobos should expose per-thread errno

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

--- Comment #2 from RazvanN  ---
Don't mind my previous comment, it is unfinished and it was before actually
running the example.

--


[Issue 4354] Phobos should expose per-thread errno

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

RazvanN  changed:

   What|Removed |Added

 Status|NEW |RESOLVED
 CC||razvan.nitu1...@gmail.com
 Resolution|--- |WORKSFORME

--- Comment #1 from RazvanN  ---
This is actually a druntime bug since errno isn't defined in phobos, but in
this example you could use it because std.stdio has a public import of
core.stdc.

--


[Issue 15130] dmd emits huge data for zero initialized struct

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

ZombineDev  changed:

   What|Removed |Added

 CC||petar.p.ki...@gmail.com

--


[Issue 17613] Inconsistent behaviour in code coverage

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

--- Comment #1 from Vladimir Panteleev  ---
(In reply to hsteoh from comment #0)
> 000|F("A").byLine) :

FWIW, this line had no coverage counters at all before
https://github.com/dlang/dmd/pull/5003 (so the bug as presented wasn't
observable before that PR), but it seems unrelated and not the cause of a
regression.

--


[Issue 17615] New: Deprecate using reference types for Nullable

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

  Issue ID: 17615
   Summary: Deprecate using reference types for Nullable
   Product: D
   Version: D2
  Hardware: x86_64
OS: Linux
Status: NEW
  Severity: enhancement
  Priority: P1
 Component: phobos
  Assignee: nob...@puremagic.com
  Reporter: razvan.nitu1...@gmail.com

See https://issues.dlang.org/show_bug.cgi?id=17440

--


[Issue 6114] immutable class variable not properly initialized when the constructor initializing it is non-shared

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

--- Comment #7 from Vladimir Panteleev  ---
Thanks!

--


[Issue 17525] std.algorithm.searching.skipOver should have a single argument with pred version

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

--- Comment #3 from github-bugzi...@puremagic.com ---
Commits pushed to master at https://github.com/dlang/phobos

https://github.com/dlang/phobos/commit/1d1b42f413c7b929dcd5c3081dd181638a912fd6
Fix Issue 17525 - std.algorithm.skipOver should have a single argument with
pred version

https://github.com/dlang/phobos/commit/37d15a89c52967006585cb088dbe008e901aa123
Merge pull request #5543 from RazvanN7/Issue_17525

Fix Issue 17525 - std.algorithm.searching.skipOver should have a single
argument with pred version
merged-on-behalf-of: Sebastian Wilzbach 

--


[Issue 15625] Internal error: backend/elfobj.c 1014

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

Vladimir Panteleev  changed:

   What|Removed |Added

 CC||dlang-bugzilla@thecybershad
   ||ow.net

--- Comment #8 from Vladimir Panteleev  ---
(In reply to Mark Isaacson from comment #0)
> No idea how to debug this.

Dustmite!

https://github.com/CyberShadow/DustMite

I would suggest trying to narrow it down to a certain module first, as a brute
reduction of building all of Druntime may take a few days.

--


[Issue 17525] std.algorithm.searching.skipOver should have a single argument with pred version

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

github-bugzi...@puremagic.com changed:

   What|Removed |Added

 Status|NEW |RESOLVED
 Resolution|--- |FIXED

--


[Issue 17440] Nullable.nullify() resets referenced object

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

--- Comment #7 from Vladimir Panteleev  ---
Yep, deprecating Nullable for reference types seems like a reasonable idea;
feel free to reopen or refile as a new enhancement.

--


[Issue 11594] synchronized causing segfault instead of Error.

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

--- Comment #4 from Vladimir Panteleev  ---
Oops, looks like I misunderstood the issue. Thanks for the clarification; and
for the fix, Nemanja.

--


[Issue 17526] Add a set method for AA

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

--- Comment #2 from Vladimir Panteleev  ---
(In reply to hsteoh from comment #1)
> 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.

If you have an empty array of const(int)[], you can't assign to its elements,
but you can still append to it. In the same way, with an AA of type
const(int)[string], there's no reason why you shouldn't be able to grow the AA.

Such a function would be good to have for performance reasons as well (as
mentioned in passing by OP).

--


[Issue 17606] dmd wrongly accepts field without type when annotated with a UDA

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

Timothee Cour  changed:

   What|Removed |Added

 Status|NEW |RESOLVED
 CC||timothee.co...@gmail.com
 Resolution|--- |INVALID

--


[Issue 7970] @property does not properly disambiguate delegate properties

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

--- Comment #4 from Vladimir Panteleev  ---
Wouldn't "fixing" this today be a breaking language change?

As far as I understand, such changes now need to go through the DIP process,
though if they're going to break code, that's unlikely to go anywhere.

Does this issue have a snowball's chance in hell to be fixed? If not, then it's
pointless to keep it open.

--