[Issue 16319] New: std.experimental.allocator.make subtly wrong with nested classes

2016-07-24 Thread via Digitalmars-d-bugs
https://issues.dlang.org/show_bug.cgi?id=16319

  Issue ID: 16319
   Summary: std.experimental.allocator.make subtly wrong with
nested classes
   Product: D
   Version: D2
  Hardware: All
OS: All
Status: NEW
  Severity: enhancement
  Priority: P1
 Component: phobos
  Assignee: nob...@puremagic.com
  Reporter: lodov...@giaretart.net
CC: lodov...@giaretart.net

std.experimental.allocator.make does not initialize the implicit `this.outer`
pointer of nested classes. After you find out, it is obvious that make cannot
initialize it.
But it is subtle and may cause long hours of useless debugging to find it out.

make should either print a big red warning when used on a nested class or
require an additional runtime argument to initialize the outer field with.

--


[Issue 16318] New: inherit from interface via abstract class

2016-07-24 Thread via Digitalmars-d-bugs
https://issues.dlang.org/show_bug.cgi?id=16318

  Issue ID: 16318
   Summary: inherit from interface via abstract class
   Product: D
   Version: D2
  Hardware: All
OS: All
Status: NEW
  Keywords: spec
  Severity: enhancement
  Priority: P1
 Component: dmd
  Assignee: nob...@puremagic.com
  Reporter: lodov...@giaretart.net
CC: lodov...@giaretart.net

interface Foo
{
void foo();
}
abstract class Bar: Foo
{
// the following line eliminates the error, if uncommented
// abstract override void foo();
}
class Baz: Bar
{
override void foo();
// error: Baz.foo does not override any function;
// did you meant to override Foo.foo?
}

Why doesn't this work? Probably there's a good reason, but I can't find it.
I would think that the commented-out line was implicit, but it is not.

--


[Issue 16243] wrong C++ argument passing with empty struct and 6 integers

2016-07-24 Thread via Digitalmars-d-bugs
https://issues.dlang.org/show_bug.cgi?id=16243

ki...@gmx.net changed:

   What|Removed |Added

 CC||ki...@gmx.net

--- Comment #4 from ki...@gmx.net ---
clang doesn't pass empty structs at all for 32-bit, while GCC does. We have
such a special case in LDC too for 32-bit OSX, where we assume clang, but not
for 32-bit Linux, where we assume GCC. See
https://github.com/ldc-developers/ldc/blob/master/gen/abi-x86.cpp#L214.

--


[Issue 16243] wrong C++ argument passing with empty struct and 6 integers

2016-07-24 Thread via Digitalmars-d-bugs
https://issues.dlang.org/show_bug.cgi?id=16243

Martin Nowak  changed:

   What|Removed |Added

   Severity|normal  |regression

--- Comment #3 from Martin Nowak  ---
Now this also fails on the OSX-64/32 test on the auto-tester, so this might
actually be a relevant regression.

--


[Issue 16315] [] ?= operations does not work with packed slices [ndslice]

2016-07-24 Thread via Digitalmars-d-bugs
https://issues.dlang.org/show_bug.cgi?id=16315

--- Comment #1 from Илья Ярошенко  ---
https://github.com/dlang/phobos/pull/4647

--


[Issue 16004] Document changes to protection attributes

2016-07-24 Thread via Digitalmars-d-bugs
https://issues.dlang.org/show_bug.cgi?id=16004

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

   What|Removed |Added

 Status|ASSIGNED|RESOLVED
 Resolution|--- |FIXED

--


[Issue 16004] Document changes to protection attributes

2016-07-24 Thread via Digitalmars-d-bugs
https://issues.dlang.org/show_bug.cgi?id=16004

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

https://github.com/dlang/dlang.org/commit/7bd44bc2c241af0c7131e32a3232bf6af6577664
Fix issue 16004 - Document changes to protection attributes

- Rename to visibility attribute
- Expand documentation on name lookup in module doc

https://github.com/dlang/dlang.org/commit/58e99baec2ee7936d1534a51dace3da9a68ddd0a
Merge pull request #1325 from mathias-lang-sociomantic/fix-16004

Fix issue 16004 - Document changes to protection attributes

--


[Issue 16317] New: Wrong binop evaluation/load order when optimizing

2016-07-24 Thread via Digitalmars-d-bugs
https://issues.dlang.org/show_bug.cgi?id=16317

  Issue ID: 16317
   Summary: Wrong binop evaluation/load order when optimizing
   Product: D
   Version: D2
  Hardware: All
OS: All
Status: NEW
  Severity: major
  Priority: P1
 Component: dmd
  Assignee: nob...@puremagic.com
  Reporter: ki...@gmx.net

The runtime assertion fails when specifying `-O`:

-
int add8ret3(ref int s)
{
s += 8;
return 3;
}

int binAdd(int val)
{
val = val + add8ret3(val);
return val;
}

void main()
{
assert(binAdd(1) == (1 + 3));
static assert(binAdd(1) == (1 + 3));
}
-

So the left hand side lvalue seems to be loaded after evaluating the right hand
side. This can be caused by optimizing `val = val  ...` to `val = ...`,
which isn't valid for the current evaluation/load order rules.

This came up when fixing a related CTFE issue in
https://github.com/dlang/dmd/pull/5966, where I disabled the corresponding
tests for now.

--


[Issue 16316] New: [REG 2.071] (Import deprecation) fully qualified name of imports in mixin template not accessible

2016-07-24 Thread via Digitalmars-d-bugs
https://issues.dlang.org/show_bug.cgi?id=16316

  Issue ID: 16316
   Summary: [REG 2.071] (Import deprecation) fully qualified name
of imports in mixin template not accessible
   Product: D
   Version: D2
  Hardware: All
OS: All
Status: NEW
  Severity: regression
  Priority: P1
 Component: dmd
  Assignee: nob...@puremagic.com
  Reporter: c...@dawg.eu

cat > bug.d << CODE
template imp()
{
  static import core.stdc.stdio; // also w/o static
}

mixin imp!();

void test()
{
  core.stdc.stdio.puts("");
}
CODE

dmd -c bug

bug.d(10): Deprecation: package core.stdc is not accessible here
bug.d(10): Deprecation: module core.stdc.stdio is not accessible here, perhaps
add 'static import core.stdc.stdio;'


While imports from mixin templates are no longer searched for unqualified
symbols, the fully qualified name of the imported modules should still be
available.

--


[Issue 16315] New: [] ?= operations does not work with packed slices [ndslice]

2016-07-24 Thread via Digitalmars-d-bugs
https://issues.dlang.org/show_bug.cgi?id=16315

  Issue ID: 16315
   Summary: [] ?= operations does not work with packed slices
[ndslice]
   Product: D
   Version: D2
  Hardware: All
OS: All
Status: NEW
  Severity: enhancement
  Priority: P1
 Component: phobos
  Assignee: nob...@puremagic.com
  Reporter: ilyayaroshe...@gmail.com

--