[Issue 19728] AliasSeq in UDA errors

2020-05-24 Thread d-bugmail--- via Digitalmars-d-bugs
https://issues.dlang.org/show_bug.cgi?id=19728

Dlang Bot  changed:

   What|Removed |Added

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

--- Comment #4 from Dlang Bot  ---
dlang/dmd pull request #11160 "Fix Issues 19728, 20093 - AliasSeq in UDA
errors" was merged into stable:

- 3ae76de5a11379fcd137106ffaf5caaa3325f698 by Boris Carvajal:
  Fix Issues 19728, 20093 - AliasSeq in UDA errors

https://github.com/dlang/dmd/pull/11160

--


[Issue 20093] Error: cannot form tuple of tuples

2020-05-24 Thread d-bugmail--- via Digitalmars-d-bugs
https://issues.dlang.org/show_bug.cgi?id=20093

Dlang Bot  changed:

   What|Removed |Added

 Resolution|DUPLICATE   |FIXED

--- Comment #3 from Dlang Bot  ---
dlang/dmd pull request #11160 "Fix Issues 19728, 20093 - AliasSeq in UDA
errors" was merged into stable:

- 3ae76de5a11379fcd137106ffaf5caaa3325f698 by Boris Carvajal:
  Fix Issues 19728, 20093 - AliasSeq in UDA errors

https://github.com/dlang/dmd/pull/11160

--


[Issue 20852] core.sys.posix.sys.wait missing definitions on FreeBSD

2020-05-24 Thread d-bugmail--- via Digitalmars-d-bugs
https://issues.dlang.org/show_bug.cgi?id=20852

Dlang Bot  changed:

   What|Removed |Added

 Status|REOPENED|RESOLVED
 Resolution|--- |FIXED

--- Comment #5 from Dlang Bot  ---
dlang/druntime pull request #3115 "Fix issue 20852: core.sys.posix.sys.wait
missing definitions on FreeBSD" was merged into master:

- 4b70715194b6cbed8d77dda59df5faf5dfbda49f by Sergei Akhmatdinov:
  Fix issue 20852: core.sys.posix.sys.wait missing definitions on FreeBSD

  Upon further testing with the Vibe.d suite, it appears that the entire
idtype_t
  struct from sys/wait.h is required for some parts of eventcore to compile.

  This commit adds all of the missing id types.

  After adding the missing id types, Vibe.d tests pass as intended.

https://github.com/dlang/druntime/pull/3115

--


[Issue 20862] Segfault on repeated GC.qalloc calls

2020-05-24 Thread d-bugmail--- via Digitalmars-d-bugs
https://issues.dlang.org/show_bug.cgi?id=20862

kinke  changed:

   What|Removed |Added

 CC||ki...@gmx.net

--- Comment #3 from kinke  ---
(In reply to moonlightsentinel from comment #0)
> The following code causes a segfault in the GC (tested on 2.092.0):
> 
> ===
> void main()
> {
> import core.memory;
> 
> string[] arr;
> 
> foreach (_; 0 .. 3) // first two iterations pass
> {
> immutable len = arr.length;
> 
> auto bi = GC.qalloc(string.sizeof);
> arr = (cast(string*) bi.base)[0 .. len];
> 
> arr = arr.ptr[0 .. len + 1];
> arr[] = [];
> }
> }

Isn't that code clearly writing out of bounds? It's allocating a single slice
for each iteration, but writing 1, 2, 3 empty slices into it, and probably
overwrites GC-internal data.

--


[Issue 20862] Segfault on repeated GC.qalloc calls

2020-05-24 Thread d-bugmail--- via Digitalmars-d-bugs
https://issues.dlang.org/show_bug.cgi?id=20862

moonlightsenti...@disroot.org changed:

   What|Removed |Added

   Hardware|All |x86_64

--- Comment #2 from moonlightsenti...@disroot.org ---
Passes with -m32 but fails for -m64

--


[Issue 20862] Segfault on repeated GC.qalloc calls

2020-05-24 Thread d-bugmail--- via Digitalmars-d-bugs
https://issues.dlang.org/show_bug.cgi?id=20862

--- Comment #1 from moonlightsenti...@disroot.org ---
Full stack trace:

Program received signal SIGSEGV, Segmentation fault.
_D2gc4impl12conservativeQw3Gcx10smallAllocMFNbmKmkxC8TypeInfoZPv (this=...,
ti=0x7ffeda68, bits=0,
alloc_size=@0x7ffedae8: 16, size=16) at
src/gc/impl/conservative/gc.d:1686
1686auto biti = (p - pool.baseAddr) >> pool.shiftBy;
(gdb) bt
#0  _D2gc4impl12conservativeQw3Gcx10smallAllocMFNbmKmkxC8TypeInfoZPv (this=...,
ti=0x7ffeda68, bits=0,
alloc_size=@0x7ffedae8: 16, size=16) at
src/gc/impl/conservative/gc.d:1686
#1  0x0807ff73 in
_D2gc4impl12conservativeQw14ConservativeGC__T9runLockedS_DQCeQCeQCcQCnQBs12mallocNoSyncMFNbmkKmxC8TypeInfoZPvS_DQEgQEgQEeQEp10mallocTimelS_DQFiQFiQFgQFr10numMallocslTmTkTmTxQCzZQFcMFNbKmKkKmKxQDsZQDl
(this=0x84ac0a0,
_param_3=@0x7ffedb08: 0x0, _param_2=@0x7ffedae8: 16,
_param_1=@0x7ffedb10: 0, _param_0=@0x7ffedb18: 16)
at src/gc/impl/conservative/gc.d:1627
#2  0x08072bcf in
_D2gc4impl12conservativeQw14ConservativeGC6qallocMFNbmkxC8TypeInfoZS4core6memory8BlkInfo_
(
this=0x84ac0a0, __HID14=0x7ffedbf0, ti=0x0, bits=0, size=16) at
src/gc/impl/conservative/gc.d:417
#3  0x0803f283 in gc_qalloc (__HID19=0x7ffedbf0, sz=16, ba=0,
ti=0x0) at src/gc/proxy.d:36
#4  0x0803ed77 in
_D4core6memory2GC6qallocFNaNbmkxC8TypeInfoZSQBqQBo8BlkInfo_
(__HID3=0x7ffedbf0, ti=0x0, ba=0,
sz=16) at src/core/memory.d:523
#5  0x0803eb55 in D main () at d_do_test.d:11

--


[Issue 20862] New: Segfault on repeated GC.qalloc calls

2020-05-24 Thread d-bugmail--- via Digitalmars-d-bugs
https://issues.dlang.org/show_bug.cgi?id=20862

  Issue ID: 20862
   Summary: Segfault on repeated GC.qalloc calls
   Product: D
   Version: D2
  Hardware: All
OS: All
Status: NEW
  Severity: major
  Priority: P1
 Component: druntime
  Assignee: nob...@puremagic.com
  Reporter: moonlightsenti...@disroot.org

The following code causes a segfault in the GC (tested on 2.092.0):

===
void main()
{
import core.memory;

string[] arr;

foreach (_; 0 .. 3) // first two iterations pass
{
immutable len = arr.length;

auto bi = GC.qalloc(string.sizeof);
arr = (cast(string*) bi.base)[0 .. len];

arr = arr.ptr[0 .. len + 1];
arr[] = [];
}
}
===

gdb:

Program received signal SIGSEGV, Segmentation fault.
0x08067be6 in
_D2gc4impl12conservativeQw3Gcx10smallAllocMFNbmKmkxC8TypeInfoZPv ()

--


[Issue 20756] ImplicitConversionTargets ignores interface inheritance

2020-05-24 Thread d-bugmail--- via Digitalmars-d-bugs
https://issues.dlang.org/show_bug.cgi?id=20756

--- Comment #3 from FeepingCreature  ---
I would argue that then the documentation is another bug. A template called
"ImplicitConversionTargets" can be reasonably expected to return implicit
conversion targets.

--


[Issue 12520] Comparing two TypeTuples with == does not compile for no arguments

2020-05-24 Thread d-bugmail--- via Digitalmars-d-bugs
https://issues.dlang.org/show_bug.cgi?id=12520

Dlang Bot  changed:

   What|Removed |Added

   Keywords||pull

--- Comment #1 from Dlang Bot  ---
@NilsLankila created dlang/dmd pull request #11187 "fix issue 12520 - allow
comparison of empty tuples to tuples that con…" fixing this issue:

- fix issue 12520 - allow comparison of empty tuples to tuples that contain
values

  Empty tuples are represented as `TypeTuple` while tuples containing values as
`TupleExp`.
  As a consequence, comparing them using `==` was not allowed.

https://github.com/dlang/dmd/pull/11187

--


[Issue 13372] traits parent does not work on eponymous templates

2020-05-24 Thread d-bugmail--- via Digitalmars-d-bugs
https://issues.dlang.org/show_bug.cgi?id=13372

Adam D. Ruppe  changed:

   What|Removed |Added

 CC||destructiona...@gmail.com

--- Comment #5 from Adam D. Ruppe  ---
Here's something related I just came upon:

template wrap(string foo) {
enum wrap = foo;
}
pragma(msg, __traits(parent, wrap!"lol")); // says lol
pragma(msg, __traits(parent, __traits(parent, wrap!"lol"))); // says argument
"lol" has no parent


So in the first one, it appears it evaluates to the outer template which is
then instantly evaluated back to the enum literal. Then the second one sees the
literal and says literals have no parents.

Quite bizarre indeed.

--


[Issue 20762] __traits(isSame) is underspecified for enums and literals

2020-05-24 Thread d-bugmail--- via Digitalmars-d-bugs
https://issues.dlang.org/show_bug.cgi?id=20762

--- Comment #2 from Adam D. Ruppe  ---
But, on the other hand:

@(1) enum e = 1;
pragma(msg, __traits(getAttributes, e));

is currently legal meaning e indeed has a distinct identity from 1. So perhaps
the spec does need clarification rather than the implementation.

--


[Issue 20762] __traits(isSame) is underspecified for enums and literals

2020-05-24 Thread d-bugmail--- via Digitalmars-d-bugs
https://issues.dlang.org/show_bug.cgi?id=20762

Adam D. Ruppe  changed:

   What|Removed |Added

 CC||destructiona...@gmail.com

--- Comment #1 from Adam D. Ruppe  ---
I'm of the opinion that the current behavior of `static assert(__traits(isSame,
x, 1));` is buggy because of that line in the spec. It also affects eponymous
templates which are otherwise indistinguishable from the literal (which is a
good thing - major optimization opportunity in the compiler by taking advantage
of this).

But either way, it needs to be very clearly defined.

--


[Issue 20852] core.sys.posix.sys.wait missing definitions on FreeBSD

2020-05-24 Thread d-bugmail--- via Digitalmars-d-bugs
https://issues.dlang.org/show_bug.cgi?id=20852

--- Comment #4 from Dlang Bot  ---
@sakhmatd created dlang/druntime pull request #3115 "Fix issue 20852:
core.sys.posix.sys.wait missing definitions on FreeBSD" fixing this issue:

- Fix issue 20852: core.sys.posix.sys.wait missing definitions on FreeBSD

  Upon further testing with the Vibe.d suite, it appears that the entire
idtype_t
  struct from sys/wait.h is required for some parts of eventcore to compile.

  This commit adds all of the missing id types.

  After adding the missing id types, Vibe.d tests pass as intended.

https://github.com/dlang/druntime/pull/3115

--


[Issue 20852] core.sys.posix.sys.wait missing definitions on FreeBSD

2020-05-24 Thread d-bugmail--- via Digitalmars-d-bugs
https://issues.dlang.org/show_bug.cgi?id=20852

Sergei Akhmatdinov  changed:

   What|Removed |Added

 Status|RESOLVED|REOPENED
 Resolution|FIXED   |---

--- Comment #3 from Sergei Akhmatdinov  ---
Upon further testing with the Vibe.d suite, it appears that the entire idtype_t
struct from sys/wait.h is required for some parts of eventcore to compile.

After adding the missing id types, Vibe.d tests pass as intended.

--


[Issue 20756] ImplicitConversionTargets ignores interface inheritance

2020-05-24 Thread d-bugmail--- via Digitalmars-d-bugs
https://issues.dlang.org/show_bug.cgi?id=20756

Nathan S.  changed:

   What|Removed |Added

 CC||n8sh.second...@hotmail.com
   Hardware|x86_64  |All
 OS|Linux   |All
   Severity|minor   |enhancement

--- Comment #2 from Nathan S.  ---
Changed from 'bug' to 'enhancement' since the behavior of
ImplicitConversionTargets is correct for its documentation:
```
If the type is not a built-in value type or a class derived from
`Object`, the an empty $(REF AliasSeq,std,meta) is returned.
```

--


[Issue 12471] Struct of arrays in Phobos

2020-05-24 Thread d-bugmail--- via Digitalmars-d-bugs
https://issues.dlang.org/show_bug.cgi?id=12471

Basile-z  changed:

   What|Removed |Added

  Component|dmd |phobos

--


[Issue 12285] Allow local symbols in alias parameter to non-static templates when both have same scope

2020-05-24 Thread d-bugmail--- via Digitalmars-d-bugs
https://issues.dlang.org/show_bug.cgi?id=12285

Basile-z  changed:

   What|Removed |Added

 Status|NEW |RESOLVED
 CC||b2.t...@gmx.com
 Resolution|--- |WORKSFORME

--- Comment #2 from Basile-z  ---
works since 2.087.1.

--


[Issue 12230] methods do not bind templates via alias parameter

2020-05-24 Thread d-bugmail--- via Digitalmars-d-bugs
https://issues.dlang.org/show_bug.cgi?id=12230
Issue 12230 depends on issue 12285, which changed state.

Issue 12285 Summary: Allow local symbols in alias parameter to non-static 
templates when both have same scope
https://issues.dlang.org/show_bug.cgi?id=12285

   What|Removed |Added

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

--


[Issue 10587] __traits(getAttributes) doesn't work on incomplete templated types

2020-05-24 Thread d-bugmail--- via Digitalmars-d-bugs
https://issues.dlang.org/show_bug.cgi?id=10587

Basile-z  changed:

   What|Removed |Added

 Status|NEW |RESOLVED
 CC||b2.t...@gmx.com
 Resolution|--- |WORKSFORME

--- Comment #1 from Basile-z  ---
working as expected since v2.065.0

--


[Issue 20861] New: Interface implementations are not checked when code gen is skipped

2020-05-24 Thread d-bugmail--- via Digitalmars-d-bugs
https://issues.dlang.org/show_bug.cgi?id=20861

  Issue ID: 20861
   Summary: Interface implementations are not checked when code
gen is skipped
   Product: D
   Version: D2
  Hardware: All
OS: All
Status: NEW
  Severity: critical
  Priority: P1
 Component: dmd
  Assignee: nob...@puremagic.com
  Reporter: d...@me.com

The following code should fail to compile but doesn't when code gen is skipped,
i.e. the `-o-` flag is used:

interface Foo
{
void foo();
}

class Bar : Foo
{

}

The reason being that the check if a class implements all methods of an
interface is performed when generating code for the vtable.

--


[Issue 20860] OpDispatch does not work for structs with constructor and destructor

2020-05-24 Thread d-bugmail--- via Digitalmars-d-bugs
https://issues.dlang.org/show_bug.cgi?id=20860

--- Comment #2 from Szabo Bogdan  ---
Oh... I see ... Since this is an really old regression, I don't think it will
be fixed until the next release.

--


[Issue 11717] CTFE: non-constant value with array and vector ops.

2020-05-24 Thread d-bugmail--- via Digitalmars-d-bugs
https://issues.dlang.org/show_bug.cgi?id=11717

Basile-z  changed:

   What|Removed |Added

 CC||b2.t...@gmx.com
Summary|CTFE: [ICE] non-constant|CTFE: non-constant value
   |value with array and vector |with array and vector ops.
   |ops.|

--


[Issue 14071] ICE: backend/gloop.c 862

2020-05-24 Thread d-bugmail--- via Digitalmars-d-bugs
https://issues.dlang.org/show_bug.cgi?id=14071

Basile-z  changed:

   What|Removed |Added

   Keywords||ice
 Status|NEW |RESOLVED
 CC||b2.t...@gmx.com
 Resolution|--- |WORKSFORME

--- Comment #3 from Basile-z  ---
the only problem described by OP was an ICE and it's gone (verifeid again
today) so it can be closed.

--


[Issue 20860] OpDispatch does not work for structs with constructor and destructor

2020-05-24 Thread d-bugmail--- via Digitalmars-d-bugs
https://issues.dlang.org/show_bug.cgi?id=20860

Basile-z  changed:

   What|Removed |Added

   Hardware|x86_64  |All
 OS|Linux   |All
   Severity|enhancement |regression

--- Comment #1 from Basile-z  ---
that's an old regression (2.065). Curiously that works when you remove the
parens of the call ( A(3).test; )

--


[Issue 20860] New: OpDispatch does not work for structs with constructor and destructor

2020-05-24 Thread d-bugmail--- via Digitalmars-d-bugs
https://issues.dlang.org/show_bug.cgi?id=20860

  Issue ID: 20860
   Summary: OpDispatch does not work for structs with constructor
and destructor
   Product: D
   Version: D2
  Hardware: x86_64
OS: Linux
Status: NEW
  Severity: enhancement
  Priority: P1
 Component: dmd
  Assignee: nob...@puremagic.com
  Reporter: cont...@szabobogdan.com

It looks like opDispatch does not work in this case:

```
struct A
{ 
this(int a) {}
  ///
  void opDispatch(string methodName, Params...)(Params params) {
  }

  ~this() {}
}

void main()
{
A(3).test();
}

```

--


[Issue 19486] http://code.dlang.org/login does not redirect to https

2020-05-24 Thread d-bugmail--- via Digitalmars-d-bugs
https://issues.dlang.org/show_bug.cgi?id=19486

Basile-z  changed:

   What|Removed |Added

 Status|NEW |RESOLVED
 CC||b2.t...@gmx.com
 Resolution|--- |WORKSFORME

--


[Issue 7908] Array operations fail when compiled with -d flag

2020-05-24 Thread d-bugmail--- via Digitalmars-d-bugs
https://issues.dlang.org/show_bug.cgi?id=7908

Basile-z  changed:

   What|Removed |Added

 Status|NEW |RESOLVED
 CC||b2.t...@gmx.com
 Resolution|--- |WORKSFORME

--- Comment #3 from Basile-z  ---
fixed since v2.063 according to run.dlang.io

--


[Issue 10303] Constraining interfaces with some std.traits methods causes crash

2020-05-24 Thread d-bugmail--- via Digitalmars-d-bugs
https://issues.dlang.org/show_bug.cgi?id=10303

Basile-z  changed:

   What|Removed |Added

   Keywords||ice
 Status|NEW |RESOLVED
 CC||b2.t...@gmx.com
   Hardware|x86 |All
 Resolution|--- |WORKSFORME
 OS|Linux   |All

--- Comment #1 from Basile-z  ---
according to run.dalng.io this is fixed since v2.067.1.

--


[Issue 14128] AliasDeclaration allows expressions, causing false code for ThisExp

2020-05-24 Thread d-bugmail--- via Digitalmars-d-bugs
https://issues.dlang.org/show_bug.cgi?id=14128

Basile-z  changed:

   What|Removed |Added

   Keywords||wrong-code

--


[Issue 14128] AliasDeclaration allows expressions, causing false code for ThisExp

2020-05-24 Thread d-bugmail--- via Digitalmars-d-bugs
https://issues.dlang.org/show_bug.cgi?id=14128

Basile-z  changed:

   What|Removed |Added

Summary|wrong alias |AliasDeclaration allows
   ||expressions, causing false
   ||code for ThisExp

--


[Issue 19786] alias to __traits(getMember) wrongfully always binds to this

2020-05-24 Thread d-bugmail--- via Digitalmars-d-bugs
https://issues.dlang.org/show_bug.cgi?id=19786

Basile-z  changed:

   What|Removed |Added

 Status|NEW |RESOLVED
 Resolution|--- |DUPLICATE

--- Comment #7 from Basile-z  ---
you were right in https://issues.dlang.org/show_bug.cgi?id=19786#c3 RazvanN.

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

--


[Issue 14128] wrong alias

2020-05-24 Thread d-bugmail--- via Digitalmars-d-bugs
https://issues.dlang.org/show_bug.cgi?id=14128

Basile-z  changed:

   What|Removed |Added

 CC||edi33...@gmail.com

--- Comment #2 from Basile-z  ---
*** Issue 19786 has been marked as a duplicate of this issue. ***

--


[Issue 14128] wrong alias

2020-05-24 Thread d-bugmail--- via Digitalmars-d-bugs
https://issues.dlang.org/show_bug.cgi?id=14128

Basile-z  changed:

   What|Removed |Added

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

--


[Issue 14128] wrong alias

2020-05-24 Thread d-bugmail--- via Digitalmars-d-bugs
https://issues.dlang.org/show_bug.cgi?id=14128

Basile-z  changed:

   What|Removed |Added

   Keywords||accepts-invalid
 CC||b2.t...@gmx.com
   Hardware|x86_64  |All
 OS|Linux   |All

--


[Issue 19786] alias to __traits(getMember) wrongfully always binds to this

2020-05-24 Thread d-bugmail--- via Digitalmars-d-bugs
https://issues.dlang.org/show_bug.cgi?id=19786

Basile-z  changed:

   What|Removed |Added

 CC||b2.t...@gmx.com
   See Also||https://issues.dlang.org/sh
   ||ow_bug.cgi?id=14128

--


[Issue 14128] wrong alias

2020-05-24 Thread d-bugmail--- via Digitalmars-d-bugs
https://issues.dlang.org/show_bug.cgi?id=14128

--- Comment #1 from Basile-z  ---
reduced a bit:

---
struct Foo
{
int v;
void test(Foo that) const
{
alias a = this.v;
alias b = that.v;
assert (&a !is &b);
}
}

void main ()
{
Foo a = Foo(1);
Foo b = Foo(2);
a.test(b);
}
---

The problem is that `that.v` is an expression and this should not be allowed as
alias RHS. The compiler think that the current `this` is also the one required
for `that`.

--


[Issue 3031] scoped static var conflicts

2020-05-24 Thread d-bugmail--- via Digitalmars-d-bugs
https://issues.dlang.org/show_bug.cgi?id=3031

Basile-z  changed:

   What|Removed |Added

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

--


[Issue 13617] alias with scopes

2020-05-24 Thread d-bugmail--- via Digitalmars-d-bugs
https://issues.dlang.org/show_bug.cgi?id=13617

Basile-z  changed:

   What|Removed |Added

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

--


[Issue 13617] alias with scopes

2020-05-24 Thread d-bugmail--- via Digitalmars-d-bugs
https://issues.dlang.org/show_bug.cgi?id=13617

Basile-z  changed:

   What|Removed |Added

 CC||b2.t...@gmx.com

--


[Issue 20817] valigrind shows that parseJSON() generates errors relating to uninitialised values

2020-05-24 Thread d-bugmail--- via Digitalmars-d-bugs
https://issues.dlang.org/show_bug.cgi?id=20817

Basile-z  changed:

   What|Removed |Added

 CC||b2.t...@gmx.com
  Component|dmd |phobos
   Hardware|x86 |All
Summary|parseJSON() generates   |valigrind shows that
   |errors relating to  |parseJSON() generates
   |uninitialised values|errors relating to
   ||uninitialised values
 OS|Linux   |All

--- Comment #3 from Basile-z  ---
The report is valid. I also see the same report (+ a 112 bytes leak) on x86_64.
But this is either a druntime bug (GC) or phobos (std.json)

--