[Issue 19277] storage class used in alias statement has no effect

2020-07-03 Thread d-bugmail--- via Digitalmars-d-bugs
https://issues.dlang.org/show_bug.cgi?id=19277

Dlang Bot  changed:

   What|Removed |Added

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

--- Comment #2 from Dlang Bot  ---
dlang/dmd pull request #10018 "Fix Issue 19277 - storage class used in alias
statement has no effect" was merged into master:

- 629be0860a9c248ed120a23c2a984960c288a624 by Nicholas Lindsay Wilson:
  Fix Issue 19277 - storage class used in alias statement has no effect

  Co-authored-by: MoonlightSentinel 

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

--


[Issue 21010] New: Windows symlinks

2020-07-03 Thread d-bugmail--- via Digitalmars-d-bugs
https://issues.dlang.org/show_bug.cgi?id=21010

  Issue ID: 21010
   Summary: Windows symlinks
   Product: D
   Version: D2
  Hardware: x86_64
OS: Windows
Status: NEW
  Severity: major
  Priority: P1
 Component: phobos
  Assignee: nob...@puremagic.com
  Reporter: svnp...@gmail.com

Windows symlinks

It seems currently D cannot create Symlinks on Windows:

https://dlang.org/library/std/file/symlink.html

but I dont really see a good reason why this is the case. Plenty of other
languages offer this, such as Go:

https://golang.org/pkg/os#Symlink

Nim:

https://nim-lang.org/docs/os.html#createSymlink,string,string

PHP:

https://php.net/function.symlink

Python:

https://docs.python.org/library/os#os.symlink

Dart:

https://api.dart.dev/dart-io/Link/create.html

--


[Issue 20195] -preview=nosharedaccess has some access problems

2020-07-03 Thread d-bugmail--- via Digitalmars-d-bugs
https://issues.dlang.org/show_bug.cgi?id=20195

--- Comment #6 from Dlang Bot  ---
@andralex updated dlang/dmd pull request #11368 "Flagpack" mentioning this
issue:

- Issue 20195 - Allow explicit ref-returns of shared Variables (partial fix)

  This is okay because we are passing a pointer and not the actual value.

  Currently excludes `ref` inferred from `auto ref`.

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

--


[Issue 21009] CTFE string concatenation with -betterC fails with: Error: TypeInfo cannot be used with -betterC

2020-07-03 Thread d-bugmail--- via Digitalmars-d-bugs
https://issues.dlang.org/show_bug.cgi?id=21009

Dentcho Bankov  changed:

   What|Removed |Added

   Keywords||betterC, CTFE

--


[Issue 21009] New: CTFE string concatenation with -betterC fails with: Error: TypeInfo cannot be used with -betterC

2020-07-03 Thread d-bugmail--- via Digitalmars-d-bugs
https://issues.dlang.org/show_bug.cgi?id=21009

  Issue ID: 21009
   Summary: CTFE string concatenation with -betterC fails with:
Error: TypeInfo cannot be used with -betterC
   Product: D
   Version: D2
  Hardware: x86_64
OS: Mac OS X
Status: NEW
  Severity: regression
  Priority: P1
 Component: dmd
  Assignee: nob...@puremagic.com
  Reporter: dban...@gmail.com

There are a number of similar issues filed already (PR 18472 is probably the
closest one) but think the string concatenation is quite important for CTFE
(even with -betterC) so decided to file this PR as well.

The failing code is:

import core.stdc.stdio;

string genSubTypeDefinition()
{
string result = "enum SubType ";
result ~= "{ a = 0 }";
return result;
}

enum subTypeDefinition = genSubTypeDefinition();

mixin(subTypeDefinition);

extern(C) int main()
{
printf("SubType.a = %d", SubType.a);
return 0;
}

This code compiles with DMD 2.078.3.

--


[Issue 20195] -preview=nosharedaccess has some access problems

2020-07-03 Thread d-bugmail--- via Digitalmars-d-bugs
https://issues.dlang.org/show_bug.cgi?id=20195

--- Comment #5 from Dlang Bot  ---
dlang/dmd pull request #10412 "Allow ref-returns of shared Variables" was
merged into master:

- 02fd0cd4b88d6f166a6d3905487279d7c723c46d by Stefan Koch:
  Issue 20195 - Allow explicit ref-returns of shared Variables (partial fix)

  This is okay because we are passing a pointer and not the actual value.

  Currently excludes `ref` inferred from `auto ref`.

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

--


[Issue 12504] Wrong 'cannot cover index range' error message

2020-07-03 Thread d-bugmail--- via Digitalmars-d-bugs
https://issues.dlang.org/show_bug.cgi?id=12504

--- Comment #5 from Dlang Bot  ---
dlang/dmd pull request #11366 "merge stable" was merged into master:

- 432ee0093f812e33cbd6b77f2ae17fae254db5e0 by Nils Lankila:
  fix issue 12504 - Wrong 'cannot cover index range' error message

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

--


[Issue 21008] New: dmd segfaults because of __traits(getMember, ...) and virtual function overriding

2020-07-03 Thread d-bugmail--- via Digitalmars-d-bugs
https://issues.dlang.org/show_bug.cgi?id=21008

  Issue ID: 21008
   Summary: dmd segfaults because of __traits(getMember, ...) and
virtual function overriding
   Product: D
   Version: D2
  Hardware: x86
OS: All
Status: NEW
  Severity: critical
  Priority: P1
 Component: dmd
  Assignee: nob...@puremagic.com
  Reporter: bitwo...@qq.com

When compiling the test code with dmd, the compiler will crash.

Test with dmd 2.092.0 and 2.088.1 on Windows and Linux.


Here is the code:
==
void main() {}

import std.traits;

abstract class Controller {
bool after();
}

abstract class ControllerBase(T) : Controller {
override bool after() {
return true;
}

mixin(handleMiddlewareAnnotation!(T));
}

class DemoController : ControllerBase!DemoController {

// Bug mark A
override bool after() {
return true;
}
}

string handleMiddlewareAnnotation(T)() {

foreach (memberName; __traits(allMembers, T)) {
alias currentMember = __traits(getMember, T, memberName); // Bug mark B
}

return "";
}
==

After commenting out the mark A or the mark B, the compiling will pass.

--