[Issue 18847] std.allocator: Region uses .parent before it can be set

2018-05-14 Thread d-bugmail--- via Digitalmars-d-bugs
https://issues.dlang.org/show_bug.cgi?id=18847

Vladimir Panteleev  changed:

   What|Removed |Added

   Assignee|nob...@puremagic.com|dlang-bugzilla@thecybershad
   ||ow.net

--


[Issue 18847] std.allocator: Region uses .parent before it can be set

2018-05-14 Thread d-bugmail--- via Digitalmars-d-bugs
https://issues.dlang.org/show_bug.cgi?id=18847

--- Comment #1 from Vladimir Panteleev  ---
Some goes for BitmappedBlock and KKRegion.

ContiguousFreeList seems to have gotten this right (though with the end result
of having 8 constructor declarations).

--


[Issue 18860] New: Destructors and postblit constructors do not appear in DDoc output

2018-05-14 Thread d-bugmail--- via Digitalmars-d-bugs
https://issues.dlang.org/show_bug.cgi?id=18860

  Issue ID: 18860
   Summary: Destructors and postblit constructors do not appear in
DDoc output
   Product: D
   Version: D2
  Hardware: All
OS: All
Status: NEW
  Keywords: ddoc
  Severity: normal
  Priority: P3
 Component: dmd
  Assignee: nob...@puremagic.com
  Reporter: dlang-bugzi...@thecybershadow.net

/ test.d /
///
struct S
{
/// Documentation here
this(this) {}

/// Documentation here
~this() {}
}
//

$ dmd -D -o- test.d

$ $BROWSER test.html

(Neither declarations appear in the HTML output.)

--


[Issue 18821] DMD segfault 2.080

2018-05-14 Thread d-bugmail--- via Digitalmars-d-bugs
https://issues.dlang.org/show_bug.cgi?id=18821

--- Comment #6 from Walter Bright  ---
Thank you. I was able to reproduce the problem.

--


[Issue 18859] Silence class allocator/deallocator deprecation warning if they are marked "deprecated"

2018-05-14 Thread d-bugmail--- via Digitalmars-d-bugs
https://issues.dlang.org/show_bug.cgi?id=18859

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

   What|Removed |Added

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

--


[Issue 18859] Silence class allocator/deallocator deprecation warning if they are marked "deprecated"

2018-05-14 Thread d-bugmail--- via Digitalmars-d-bugs
https://issues.dlang.org/show_bug.cgi?id=18859

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

https://github.com/dlang/dmd/commit/b6f92b288a005c5334793b318c1bf2ab70152ed4
Fix Issue 18859 - Silence class allocator/deallocator deprecation warning if
they are marked "deprecated"

--


[Issue 18859] Silence class allocator/deallocator deprecation warning if they are marked "deprecated"

2018-05-14 Thread d-bugmail--- via Digitalmars-d-bugs
https://issues.dlang.org/show_bug.cgi?id=18859

Vladimir Panteleev  changed:

   What|Removed |Added

   Keywords||pull

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

--


[Issue 18859] New: Silence class allocator/deallocator deprecation warning if they are marked "deprecated"

2018-05-14 Thread d-bugmail--- via Digitalmars-d-bugs
https://issues.dlang.org/show_bug.cgi?id=18859

  Issue ID: 18859
   Summary: Silence class allocator/deallocator deprecation
warning if they are marked "deprecated"
   Product: D
   Version: D2
  Hardware: All
OS: All
Status: NEW
  Severity: enhancement
  Priority: P1
 Component: dmd
  Assignee: nob...@puremagic.com
  Reporter: dlang-bugzi...@thecybershadow.net

To facilitate transition from class allocators/deallocators, it would be nice
if it was possible to mark them as deprecated, which would move the deprecation
warning from the declaration to any code that uses them. This would be similar
to how deprecated unittests allow silently testing deprecated symbols.

Example:

// test.d /
class C
{
new(size_t sz) { return null; }
}

void fun()
{
new C;
}
///

Currently, this warns on line 3.

/// test.d ///
class C
{
deprecated new(size_t sz) { return null; }
}

void fun()
{
new C;
}
//

This warns both on line 3 and line 8 (usage).
It would be better to just have a warning at line 8.

--


[Issue 18858] switch 'skips declaration' test only checks last declaration

2018-05-14 Thread d-bugmail--- via Digitalmars-d-bugs
https://issues.dlang.org/show_bug.cgi?id=18858

--- Comment #1 from Walter Bright  ---
https://github.com/dlang/dmd/pull/8246

--


[Issue 18821] DMD segfault 2.080

2018-05-14 Thread d-bugmail--- via Digitalmars-d-bugs
https://issues.dlang.org/show_bug.cgi?id=18821

ag0aep6g  changed:

   What|Removed |Added

   Keywords||ice

--


[Issue 18821] DMD segfault 2.080

2018-05-14 Thread d-bugmail--- via Digitalmars-d-bugs
https://issues.dlang.org/show_bug.cgi?id=18821

ag0aep6g  changed:

   What|Removed |Added

 CC||ag0ae...@gmail.com

--- Comment #5 from ag0aep6g  ---
Reduced further:


align(1) struct epoll_event
{
void* ptr;
}
template isAllZeroBits(epoll_event value) {}
alias isInitAllZeroBits = isAllZeroBits!(epoll_event.init);


--


[Issue 18858] New: switch 'skips declaration' test only checks last declaration

2018-05-14 Thread d-bugmail--- via Digitalmars-d-bugs
https://issues.dlang.org/show_bug.cgi?id=18858

  Issue ID: 18858
   Summary: switch 'skips declaration' test only checks last
declaration
   Product: D
   Version: D2
  Hardware: All
OS: All
Status: NEW
  Severity: normal
  Priority: P1
 Component: dmd
  Assignee: nob...@puremagic.com
  Reporter: bugzi...@digitalmars.com

Consider:

  int test(int n)
  {
final switch(n)
{
enum e = 6;
int z = 5; // Error: switch skips declaration of variable test.z

case 1:
int y = 2;
return y;
}
  }

Good. Now reverse the enum e and int z statements, and no error will be
generated.

--


[Issue 18606] [REG2.072] "cannot append type const(T) to type T[]" in .dup

2018-05-14 Thread d-bugmail--- via Digitalmars-d-bugs
https://issues.dlang.org/show_bug.cgi?id=18606

--- Comment #2 from Vladimir Panteleev  ---
The commits are big too, but if it helped, I can bisect it down to the commit.

--


[Issue 18712] [Reg 2.072] bogus "switch skips declaration" error with case in mixin

2018-05-14 Thread d-bugmail--- via Digitalmars-d-bugs
https://issues.dlang.org/show_bug.cgi?id=18712

Walter Bright  changed:

   What|Removed |Added

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

--- Comment #4 from Walter Bright  ---
Here's what's happening. After a case/default statement, the parser makes the
code between one case/default and the next into a scope. So it looks like:

int test(int n)
{
switch(n)
{
mixin("case 0:");
int x = 1;
return x;
case 1:
{
int y = 2;
return y;
}
default:
{
return -1;
}
}
}

and, of course, now the error message makes sense. `x` is visible to the
following two scopes, whether or not the error message is generated. Any time
the case/default is not directly in the switch body (not nested via { } or a
mixin) the implicit { } scope is not generated. Oops.

Try putting { } in various combinations, and you'll see how it all comes
unglued.

I can't think of any solution that 1) works in all cases and 2) doesn't break a
lot of existing code. So we're just stuck with it. Fortunately, there is a
workaround. Recode the switch like this:

int test(int n)
{
switch(n)
{
mixin("case 0:");
{
int x = 1;
return x;
}
case 1:
int y = 2;
return y;
default:
return -1;
}
}

I'm going to close this as WONTFIX. If anyone has a brainwave on how to make it
work in all cases without breaking code, reopen with proof.

Note that the fundamental problem is a combination of:

1. allowing case/default statements to appear inside nested scopes

2. implicit generation of scopes between case/default pairs

--


[Issue 18821] DMD segfault 2.080

2018-05-14 Thread d-bugmail--- via Digitalmars-d-bugs
https://issues.dlang.org/show_bug.cgi?id=18821

--- Comment #4 from Mr. Smith  ---
Reduced to this:

```
module test18821;

import std.experimental.allocator : makeArray;
import core.sys.linux.epoll;

class MmapPool
{
static MmapPool instance()
{
return null;
}
}

void test()
{
epoll_event[] events = MmapPool.instance.makeArray!epoll_event(0);
}
```

--


[Issue 18850] Template overload incorrectly results in recursive expansion error

2018-05-14 Thread d-bugmail--- via Digitalmars-d-bugs
https://issues.dlang.org/show_bug.cgi?id=18850

Jonathan Marler  changed:

   What|Removed |Added

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

--- Comment #2 from Jonathan Marler  ---
Yes I made a mistake here.  Had a temporary brain lapse.  I mean to define Foo
as a template, not a templated struct.

--


[Issue 6579] Calling static method should *require* using type and not instance, unless specified by author

2018-05-14 Thread d-bugmail--- via Digitalmars-d-bugs
https://issues.dlang.org/show_bug.cgi?id=6579

Mike Franklin  changed:

   What|Removed |Added

   See Also||https://issues.dlang.org/sh
   ||ow_bug.cgi?id=12228

--


[Issue 12228] Identifiers 'this' and 'super' should not be allowed as base classes

2018-05-14 Thread d-bugmail--- via Digitalmars-d-bugs
https://issues.dlang.org/show_bug.cgi?id=12228

Mike Franklin  changed:

   What|Removed |Added

   See Also||https://issues.dlang.org/sh
   ||ow_bug.cgi?id=6579

--


[Issue 6579] Calling static method should *require* using type and not instance, unless specified by author

2018-05-14 Thread d-bugmail--- via Digitalmars-d-bugs
https://issues.dlang.org/show_bug.cgi?id=6579

Mike Franklin  changed:

   What|Removed |Added

   See Also||https://issues.dlang.org/sh
   ||ow_bug.cgi?id=14170

--


[Issue 14170] `this` compiles in a static context

2018-05-14 Thread d-bugmail--- via Digitalmars-d-bugs
https://issues.dlang.org/show_bug.cgi?id=14170

Mike Franklin  changed:

   What|Removed |Added

   See Also||https://issues.dlang.org/sh
   ||ow_bug.cgi?id=6579

--


[Issue 18821] DMD segfault 2.080

2018-05-14 Thread d-bugmail--- via Digitalmars-d-bugs
https://issues.dlang.org/show_bug.cgi?id=18821

--- Comment #3 from Mr. Smith  ---
Created attachment 1694
  --> https://issues.dlang.org/attachment.cgi?id=1694=edit
Stack trace

--


[Issue 18821] DMD segfault 2.080

2018-05-14 Thread d-bugmail--- via Digitalmars-d-bugs
https://issues.dlang.org/show_bug.cgi?id=18821

--- Comment #2 from Mr. Smith  ---
Looks like the issue was with dlib library
Uploaded stacktrace as attachment
Will try reducing code.

--


[Issue 18600] Regex performance enhancement for repeated matchFirst calls

2018-05-14 Thread d-bugmail--- via Digitalmars-d-bugs
https://issues.dlang.org/show_bug.cgi?id=18600

--- Comment #2 from Jon Degenhardt  ---
Phobos PR 6268 was included in LDC 1.10.0-beta1. For this release the standard
benchmark I used for the TSV Utilities improved as follows:

LDC 1.7.0 (before regression): 8.37 seconds
LDC 1.8.0 (after regression): 10.01 seconds
LDC 1.9.0 (first fixes):   9.44 seconds
LDC 1.10.0-beta1 (Phobos PR 6268):  5.85 seconds

First fixes: Phobos PR 5981, DMD PR 7599

The benchmark test used reads a TSV file line-by-line and checks individual
fields for regex matches. A significant amount of processing time is IO, so the
percentage gain on the regex portion is higher than the overall gain. The
overall gain from LDC 1.7.0 is 30%.

Test was run on MacOS, MacMini with 16GB RAM, SSD drives. The file used was
2.7GB, 14 million lines. Test info can be found here:
https://github.com/eBay/tsv-utils-dlang/blob/master/docs/ComparativeBenchmarks2018.md

Great result!

--


[Issue 18833] [REG 2.073] DMD in some cases forgets to generate wrapping TypeInfo for modifiers on classes

2018-05-14 Thread d-bugmail--- via Digitalmars-d-bugs
https://issues.dlang.org/show_bug.cgi?id=18833

--- Comment #2 from Steven Schveighoffer  ---
I assumed since I reduced this from issue 17968 that it has the same regression
point (i.e. 2.073 is when it regressed). I just now tested locally and indeed,
2.073.0 shows the failure, while 2.072.2 does not.

--


[Issue 18114] [Reg 2.078] regex performance regression

2018-05-14 Thread d-bugmail--- via Digitalmars-d-bugs
https://issues.dlang.org/show_bug.cgi?id=18114

--- Comment #9 from Jon Degenhardt  ---
The final performance fix was included in LDC 1.10.0-beta1. For this release
the standard benchmark I used for the TSV Utilities improved as follows:

LDC 1.7.0 (before regression):  8.37 seconds
LDC 1.8.0 (after regression):  10.01 seconds
LDC 1.9.0 (first fixes):9.44 seconds
LDC 1.10.0-beta1 (second fix):  5.85 seconds

First fixes: Phobos PR 5981, DMD PR 7599
Second fix: Phobos PR 6268

The benchmark test used reads a TSV file line-by-line and checks individual
fields for regex matches. A significant amount of processing time is IO, so the
percentage gain on the regex portion is higher than the overall gain. The
overall gain from LDC 1.7.0 is 30%.

Test was run on MacOS, MacMini with 16GB RAM, SSD drives. The file used was
2.7GB, 14 million lines. Test info can be found here:
https://github.com/eBay/tsv-utils-dlang/blob/master/docs/ComparativeBenchmarks2018.md

Great result!

--


[Issue 18712] [Reg 2.072] bogus "switch skips declaration" error with case in mixin

2018-05-14 Thread d-bugmail--- via Digitalmars-d-bugs
https://issues.dlang.org/show_bug.cgi?id=18712

Walter Bright  changed:

   What|Removed |Added

 CC||bugzi...@digitalmars.com

--- Comment #3 from Walter Bright  ---
If

mixin("case 0:");

is replaced with:

{ case 0: }

it also fails in the same way.

--


[Issue 16527] extern( C++ ) Win64 build - return struct by value is broken

2018-05-14 Thread d-bugmail--- via Digitalmars-d-bugs
https://issues.dlang.org/show_bug.cgi?id=16527

Ethan Watson  changed:

   What|Removed |Added

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

--- Comment #3 from Ethan Watson  ---
Looks like this issue was fixed somewhere along the line. Example code works
just fine on run.dlang.org, and the interop code I was working on for C# that
was returning structs was also working just fine on DMD 2.078. No idea when
exactly this would have been fixed, but it certainly Works For Me! now.

--


[Issue 18606] [REG2.072] "cannot append type const(T) to type T[]" in .dup

2018-05-14 Thread d-bugmail--- via Digitalmars-d-bugs
https://issues.dlang.org/show_bug.cgi?id=18606

--- Comment #1 from Walter Bright  ---
(In reply to Vladimir Panteleev from comment #0)
> Introduced in https://github.com/dlang/dmd/pull/5500

This is why I don't like 700 line PRs spread across 18 files :-(

--


[Issue 1412] stringof shouldn't be shadowed by member func

2018-05-14 Thread d-bugmail--- via Digitalmars-d-bugs
https://issues.dlang.org/show_bug.cgi?id=1412

Nick Treleaven  changed:

   What|Removed |Added

 Status|REOPENED|RESOLVED
 CC||n...@geany.org
 Resolution|--- |DUPLICATE

--- Comment #6 from Nick Treleaven  ---


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

--


[Issue 7066] You can redefine .init and .stringof without error

2018-05-14 Thread d-bugmail--- via Digitalmars-d-bugs
https://issues.dlang.org/show_bug.cgi?id=7066

Nick Treleaven  changed:

   What|Removed |Added

 CC||dav...@126.com

--- Comment #12 from Nick Treleaven  ---
*** Issue 1412 has been marked as a duplicate of this issue. ***

--


[Issue 18473] [Reg 2.078.1] std.math.approxEqual no longer accepts nested ranges

2018-05-14 Thread d-bugmail--- via Digitalmars-d-bugs
https://issues.dlang.org/show_bug.cgi?id=18473

Walter Bright  changed:

   What|Removed |Added

 Status|NEW |RESOLVED
 CC||bugzi...@digitalmars.com
 Resolution|--- |FIXED

--- Comment #1 from Walter Bright  ---
Fixed by https://github.com/dlang/phobos/pull/6213

--


[Issue 18833] [REG 2.073] DMD in some cases forgets to generate wrapping TypeInfo for modifiers on classes

2018-05-14 Thread d-bugmail--- via Digitalmars-d-bugs
https://issues.dlang.org/show_bug.cgi?id=18833

Walter Bright  changed:

   What|Removed |Added

 CC||bugzi...@digitalmars.com

--- Comment #1 from Walter Bright  ---
Since this is marked as a regression, when did it work?

--


[Issue 14170] `this` compiles in a static context

2018-05-14 Thread d-bugmail--- via Digitalmars-d-bugs
https://issues.dlang.org/show_bug.cgi?id=14170

Simen Kjaeraas  changed:

   What|Removed |Added

 CC||simen.kja...@gmail.com

--- Comment #1 from Simen Kjaeraas  ---
(1) is a case of DMD ignoring a redundant keyword - 'static' has no effect
there, so it's just ignored. It's been mentioned that this is due to static
blocks in aggregates, but I'm unsure of the exact details:

struct S {
static { // or just static:
// lots of declarations
alias value this;
}
}


(3) is explicitly mentioned in https://dlang.org/spec/declaration.html#typeof:

Special cases:

typeof(this) will generate the type of what this would be in a non-static
member function, even if not in a member function.


(2) and (4) are bug 6579. Possibly a bit more than that, since they don't have
an actual instance to work with, but that's the root.

--


[Issue 18821] DMD segfault 2.080

2018-05-14 Thread d-bugmail--- via Digitalmars-d-bugs
https://issues.dlang.org/show_bug.cgi?id=18821

Walter Bright  changed:

   What|Removed |Added

 CC||bugzi...@digitalmars.com

--- Comment #1 from Walter Bright  ---
Can you produce a smaller test case? Or run it under the debugger to find out
where in DMD it is faulting?

--


[Issue 2698] Syntax to parse an identifier from a string, instead of mixin()

2018-05-14 Thread d-bugmail--- via Digitalmars-d-bugs
https://issues.dlang.org/show_bug.cgi?id=2698

Nick Treleaven  changed:

   What|Removed |Added

Summary|Parameterised identifier|Syntax to parse an
   ||identifier from a string,
   ||instead of mixin()

--


[Issue 2698] Parameterised identifier

2018-05-14 Thread d-bugmail--- via Digitalmars-d-bugs
https://issues.dlang.org/show_bug.cgi?id=2698

Nick Treleaven  changed:

   What|Removed |Added

 CC||n...@geany.org

--- Comment #3 from Nick Treleaven  ---
(In reply to Daniel Keep from comment #0)
>   int __ident(name)() { return __ident("_"~name~"storage"); }
Wow, this was an insightful idea from 2009! It has recently been re-discovered
in 2015:

https://github.com/dlang/DIPs/blob/master/DIPs/accepted/DIP1010.md#mixin-identifiers

I prefer the __identifier(ident) syntax than mixin(ident), it's less noisy as:

1. it doesn't get highlighted as a keyword.
2. it's clearer what kind of token is being introduced.
3. it doesn't refine the idea of mixin to more than just expressions/statements
(i.e. code, not an identifier).

--


[Issue 14064] Error message about @ attributes incomplete.

2018-05-14 Thread d-bugmail--- via Digitalmars-d-bugs
https://issues.dlang.org/show_bug.cgi?id=14064

Nick Treleaven  changed:

   What|Removed |Added

   Keywords||trivial
 CC||n...@geany.org

--


[Issue 15501] Missing parens for template argument in error message: Error: no property 'nsecs' for type 'MonoTimeImpl!cast(ClockType)0'

2018-05-14 Thread d-bugmail--- via Digitalmars-d-bugs
https://issues.dlang.org/show_bug.cgi?id=15501

Nick Treleaven  changed:

   What|Removed |Added

   Keywords||trivial
 CC||n...@geany.org

--


[Issue 14854] @disable this inconsistent between structs and classes

2018-05-14 Thread d-bugmail--- via Digitalmars-d-bugs
https://issues.dlang.org/show_bug.cgi?id=14854

Nick Treleaven  changed:

   What|Removed |Added

   Keywords||trivial
 CC||n...@geany.org

--


[Issue 12228] Identifiers 'this' and 'super' should not be allowed as base classes

2018-05-14 Thread d-bugmail--- via Digitalmars-d-bugs
https://issues.dlang.org/show_bug.cgi?id=12228

Nick Treleaven  changed:

   What|Removed |Added

   See Also||https://issues.dlang.org/sh
   ||ow_bug.cgi?id=14170

--


[Issue 14170] `this` compiles in a static context

2018-05-14 Thread d-bugmail--- via Digitalmars-d-bugs
https://issues.dlang.org/show_bug.cgi?id=14170

Nick Treleaven  changed:

   What|Removed |Added

 CC||n...@geany.org
   See Also||https://issues.dlang.org/sh
   ||ow_bug.cgi?id=12228

--


[Issue 8162] [TDPL] -property fails to give an error when a property function is called with parens

2018-05-14 Thread d-bugmail--- via Digitalmars-d-bugs
https://issues.dlang.org/show_bug.cgi?id=8162

--- Comment #7 from Nick Treleaven  ---
*** Issue 7307 has been marked as a duplicate of this issue. ***

--


[Issue 7307] Not fully enforced properties syntax

2018-05-14 Thread d-bugmail--- via Digitalmars-d-bugs
https://issues.dlang.org/show_bug.cgi?id=7307

Nick Treleaven  changed:

   What|Removed |Added

 Status|NEW |RESOLVED
 CC||n...@geany.org
 Resolution|--- |DUPLICATE

--- Comment #2 from Nick Treleaven  ---


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

--


[Issue 18857] New: [std.experimental.logger] use NullLogger as the default

2018-05-14 Thread d-bugmail--- via Digitalmars-d-bugs
https://issues.dlang.org/show_bug.cgi?id=18857

  Issue ID: 18857
   Summary: [std.experimental.logger] use NullLogger as the
default
   Product: D
   Version: D2
  Hardware: x86
OS: Windows
Status: NEW
  Severity: enhancement
  Priority: P1
 Component: phobos
  Assignee: nob...@puremagic.com
  Reporter: singingb...@hotmail.com

use NullLogger as the default instead of outputting to stderr

--


[Issue 8161] -property should give an error for invalid property functions

2018-05-14 Thread d-bugmail--- via Digitalmars-d-bugs
https://issues.dlang.org/show_bug.cgi?id=8161

Nick Treleaven  changed:

   What|Removed |Added

 CC||n...@geany.org

--- Comment #5 from Nick Treleaven  ---
> s.prop = AliasSeq!(1, 2);
> I agree that it should be disallowed
Yes, because otherwise the restriction to a maximum of 2 arguments doesn't make
sense.

--


[Issue 7066] You can redefine .init and .stringof without error

2018-05-14 Thread d-bugmail--- via Digitalmars-d-bugs
https://issues.dlang.org/show_bug.cgi?id=7066

Nick Treleaven  changed:

   What|Removed |Added

 CC||n...@geany.org

--- Comment #11 from Nick Treleaven  ---
struct S {
string stringof;
}

// Issue 14237
class MyClass
{
void init() {};
}

`init` and `stringof` should be required to be `static`, as they are expected
to work without an instance. They should probably not be allowed to be `void`
functions either.

--


[Issue 14237] Compiler should reject attempts to (re)define .init

2018-05-14 Thread d-bugmail--- via Digitalmars-d-bugs
https://issues.dlang.org/show_bug.cgi?id=14237

Nick Treleaven  changed:

   What|Removed |Added

 Status|NEW |RESOLVED
 CC||n...@geany.org
 Resolution|--- |DUPLICATE

--- Comment #3 from Nick Treleaven  ---


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

--


[Issue 13943] Grammar does not list 'super' and 'this' as types

2018-05-14 Thread d-bugmail--- via Digitalmars-d-bugs
https://issues.dlang.org/show_bug.cgi?id=13943

Mike Franklin  changed:

   What|Removed |Added

   Keywords||pull
 CC||slavo5...@yahoo.com

--- Comment #2 from Mike Franklin  ---
PR: https://github.com/dlang/dmd/pull/8242

--


[Issue 7066] You can redefine .init and .stringof without error

2018-05-14 Thread d-bugmail--- via Digitalmars-d-bugs
https://issues.dlang.org/show_bug.cgi?id=7066

Nick Treleaven  changed:

   What|Removed |Added

 CC||heartcollector...@gmail.com

--- Comment #10 from Nick Treleaven  ---
*** Issue 14237 has been marked as a duplicate of this issue. ***

--


[Issue 12228] Identifiers 'this' and 'super' should not be allowed as base classes

2018-05-14 Thread d-bugmail--- via Digitalmars-d-bugs
https://issues.dlang.org/show_bug.cgi?id=12228

Nick Treleaven  changed:

   What|Removed |Added

   See Also||https://issues.dlang.org/sh
   ||ow_bug.cgi?id=13943

--


[Issue 13943] Grammar does not list 'super' and 'this' as types

2018-05-14 Thread d-bugmail--- via Digitalmars-d-bugs
https://issues.dlang.org/show_bug.cgi?id=13943

Nick Treleaven  changed:

   What|Removed |Added

 CC||n...@geany.org
   See Also||https://issues.dlang.org/sh
   ||ow_bug.cgi?id=12228

--- Comment #1 from Nick Treleaven  ---
As Issue 9597 has been fixed, it looks like these keywords will no longer be
accepted as types - see the recent pull for Issue 12228.

--


[Issue 12228] Identifiers 'this' and 'super' should not be allowed as base classes

2018-05-14 Thread d-bugmail--- via Digitalmars-d-bugs
https://issues.dlang.org/show_bug.cgi?id=12228

Nick Treleaven  changed:

   What|Removed |Added

 CC||n...@geany.org

--- Comment #10 from Nick Treleaven  ---
It's great that `this` doesn't work as a type in a parameter list now Issue
18228 is fixed, but `super` should probably be disallowed too:

class A
{
void foo(super i) {}
}

--


[Issue 6454] @property doesn't need return type

2018-05-14 Thread d-bugmail--- via Digitalmars-d-bugs
https://issues.dlang.org/show_bug.cgi?id=6454

Nick Treleaven  changed:

   What|Removed |Added

 Status|NEW |RESOLVED
 CC||n...@geany.org
 Resolution|--- |INVALID

--- Comment #4 from Nick Treleaven  ---
The spec has been updated to list `Property` under `StorageClass`:

https://dlang.org/spec/declaration.html#StorageClass

--


[Issue 18853] std.allocator: AllocatorList fails to allocate after a deallocation

2018-05-14 Thread d-bugmail--- via Digitalmars-d-bugs
https://issues.dlang.org/show_bug.cgi?id=18853

alex.jercai...@gmail.com changed:

   What|Removed |Added

 CC||alex.jercai...@gmail.com
   Assignee|edi33...@gmail.com  |alex.jercai...@gmail.com

--


[Issue 15869] RVO can overwrite argument

2018-05-14 Thread d-bugmail--- via Digitalmars-d-bugs
https://issues.dlang.org/show_bug.cgi?id=15869

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

https://github.com/dlang/dmd/commit/0ba1f25c99bfd6e02b64b3b283540ed74e97fca5
fix Issue 15869 - RVO can overwrite argument

https://github.com/dlang/dmd/commit/68eb9d341ccd0b7872ce719df07da268398dc3aa
Merge pull request #8200 from WalterBright/fix15869

fix Issue 15869 - RVO can overwrite argument
merged-on-behalf-of: Razvan Nitu 

--


[Issue 15869] RVO can overwrite argument

2018-05-14 Thread d-bugmail--- via Digitalmars-d-bugs
https://issues.dlang.org/show_bug.cgi?id=15869

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

   What|Removed |Added

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

--


[Issue 7066] You can redefine .init and .stringof without error

2018-05-14 Thread d-bugmail--- via Digitalmars-d-bugs
https://issues.dlang.org/show_bug.cgi?id=7066

Vijay Nayar  changed:

   What|Removed |Added

 CC||mad...@gmail.com

--- Comment #9 from Vijay Nayar  ---
I encountered this problem as well while porting a C++ library to D.  It took a
while to diagnose, but I eventually found out that the mere existence of a
function named "init" caused the RefAppender I used in a totally unrelated
function to break.

Example program:
```
import std.array;

struct S1 {
  // The mere presence of this method causes the error, deleting it fixes the
error.
  void init(string p1, int p2, int p3) { }
}

struct S2 {
  S1[] a;
  RefAppender!(int[]) getAppender() {
return appender();
  }
}

void main() { }
```

The actual error produced is obvious only because the arguments I put on init
in this example, but normally it's pretty bizarre:
```
/dlang/dmd/linux/bin64/../../src/phobos/std/array.d(2907): Error: cannot have
array of `void(string, int, int)`
/dlang/dmd/linux/bin64/../../src/phobos/std/array.d(2976): Error: cannot have
array of `inout void(string, int, int)`
/dlang/dmd/linux/bin64/../../src/phobos/std/array.d(3369): Error: template
instance `std.array.Appender!(S1[])` error instantiating
/dlang/dmd/linux/bin64/../../src/phobos/std/array.d(3879):instantiated
from here: `RefAppender!(S1[])`
onlineapp.d(12):instantiated from here: `appender!(S1[]*, S1)`
/dlang/dmd/linux/bin64/../../src/phobos/std/array.d(3429): Error: cannot have
array of `inout void(string, int, int)`
```

--