[Issue 23823] New: Deprecated class alias ignored completely

2023-04-04 Thread d-bugmail--- via Digitalmars-d-bugs
https://issues.dlang.org/show_bug.cgi?id=23823

  Issue ID: 23823
   Summary: Deprecated class alias ignored completely
   Product: D
   Version: D2
  Hardware: All
OS: All
Status: NEW
  Keywords: accepts-invalid
  Severity: normal
  Priority: P1
 Component: dmd
  Assignee: nob...@puremagic.com
  Reporter: elpenguin...@gmail.com

No deprecation warnings are printed with this code:
```
alias Alias(alias A) = A;
class S {
deprecated alias value1 = Alias!(5);
}
alias shouldWarn = S.value1;
```
The shouldWarn alias should produce a deprecation warning.

--


[Issue 23822] Deprecated struct alias ignored completely

2023-04-04 Thread d-bugmail--- via Digitalmars-d-bugs
https://issues.dlang.org/show_bug.cgi?id=23822

FeepingCreature  changed:

   What|Removed |Added

   Keywords||accepts-invalid

--


[Issue 23822] Deprecated struct alias ignored completely

2023-04-04 Thread d-bugmail--- via Digitalmars-d-bugs
https://issues.dlang.org/show_bug.cgi?id=23822

--- Comment #1 from FeepingCreature  ---
```
alias Alias(alias A) = A;
class S { deprecated alias value = Alias!5; }
void main() { auto a = S.value; }
```

This errors correctly.

--


[Issue 23822] Deprecated struct alias ignored completely

2023-04-04 Thread d-bugmail--- via Digitalmars-d-bugs
https://issues.dlang.org/show_bug.cgi?id=23822

FeepingCreature  changed:

   What|Removed |Added

   Keywords||industry

--


[Issue 23822] New: Deprecated struct alias ignored completely

2023-04-04 Thread d-bugmail--- via Digitalmars-d-bugs
https://issues.dlang.org/show_bug.cgi?id=23822

  Issue ID: 23822
   Summary: Deprecated struct alias ignored completely
   Product: D
   Version: D2
  Hardware: x86_64
OS: Linux
Status: NEW
  Severity: normal
  Priority: P1
 Component: dmd
  Assignee: nob...@puremagic.com
  Reporter: default_357-l...@yahoo.de

Consider this code:

```
alias Alias(alias A) = A;
deprecated alias value = Alias!5;
void main() { auto a = value; }
```

This correctly errors with Deprecation: alias `onlineapp.value` is deprecated

However, this code:

```
alias Alias(alias A) = A;
struct S { deprecated alias value = Alias!5; }
void main() { auto a = S.value; }
```

gives no warning at all and compiles with `-de`.

(enum works)

--


[Issue 23819] defining your own interface IUnknown messes up vtable without any warning

2023-04-04 Thread d-bugmail--- via Digitalmars-d-bugs
https://issues.dlang.org/show_bug.cgi?id=23819

--- Comment #1 from Felix Hufnagel  ---
To add to that, my initial problem was, that when using two mixins, somehow the
order i mix them in is important. but shouldn't the vtable automatically be
correct when i inherit an interface?
in my mixin IMPLEMENT_REFCOUNT; and mixin QUERY_INTERFACE!(FUnknown, IMessage);
will generate the wrong vtable, unless swapped.


extern (C++)
class HostMessage : IMessage
{
public:
  // somehow the order of the two mixins matters
  mixin IMPLEMENT_REFCOUNT;
  mixin QUERY_INTERFACE!(FUnknown, IMessage);
}

mixin template IMPLEMENT_REFCOUNT() {
  override uint addRef()  { return 1; }
  override uint release() { return 1; }
}

mixin template QUERY_INTERFACE(Interfaces...) {
  override tresult queryInterface (ref const TUID _iid, void** obj) { return 1;
}
}

interface IMessage : FUnknown
{
public:
nothrow:
// @nogc:
/** Returns the message ID (for example "TextMessage"). */
FIDString getMessageID();

/** Sets a message ID (for example "TextMessage"). */
void setMessageID(FIDString id /*in*/);

/** Returns the attribute list associated to the message. */
IAttributeList getAttributes();

__gshared immutable TUID iid = INLINE_UID(0x936F033B, 0xC6C047DB,
0xBB0882F8, 0x13C1E613);
}

interface FUnknown : IUnknown {
__gshared immutable TUID iid = INLINE_UID(0x, 0x,
0xC000, 0x0046);
}


interface IUnknown {
tresult queryInterface(ref const(TUID) _iid, void** obj);
uint addRef();
uint release();
}

--


[Issue 23444] Can't append non-copyable struct value to an array

2023-04-04 Thread d-bugmail--- via Digitalmars-d-bugs
https://issues.dlang.org/show_bug.cgi?id=23444

RazvanN  changed:

   What|Removed |Added

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

--- Comment #1 from RazvanN  ---
This seems to be done on purpose, see this comment:
https://issues.dlang.org/show_bug.cgi?id=7579#c5 .

In short, if you concatenate a struct instance with a disabled postblit you
subject yourself to the possibility of the runtime doing copies behind your
back (for example, when reallocations happen). This seems pretty nasty because
the alternative would be to accept this code and then either do copies that do
not call the postblit behind the scenes or have some druntime internal failures
(provided that the hooks are properly templated).

--


[Issue 19545] __traits(compiles, X) false positive, further uses of X succeed but don't link

2023-04-04 Thread d-bugmail--- via Digitalmars-d-bugs
https://issues.dlang.org/show_bug.cgi?id=19545

RazvanN  changed:

   What|Removed |Added

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

--- Comment #9 from RazvanN  ---
This is a duplicate of 15459. Known issue: the template instance is cached even
though it had errors.

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

--


[Issue 15459] [REG2.065.0] stdin.byLine.each!(map!somefunc) compiles, fails to link with ld

2023-04-04 Thread d-bugmail--- via Digitalmars-d-bugs
https://issues.dlang.org/show_bug.cgi?id=15459

--- Comment #16 from RazvanN  ---
*** Issue 19545 has been marked as a duplicate of this issue. ***

--


[Issue 18493] [betterC] Can't use aggregated type with postblit

2023-04-04 Thread d-bugmail--- via Digitalmars-d-bugs
https://issues.dlang.org/show_bug.cgi?id=18493

--- Comment #10 from Dlang Bot  ---
@RazvanN7 created dlang/dmd pull request #15076 "Fix Issue 18493 - [betterC]
Can't use aggregated type with postblit" fixing this issue:

- Fix Issue 18493 - [betterC] Can't use aggregated type with postblit

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

--


[Issue 20076] [2.087.0] structs won't copy when using alias this and being assigned a const instance of said struct

2023-04-04 Thread d-bugmail--- via Digitalmars-d-bugs
https://issues.dlang.org/show_bug.cgi?id=20076

RazvanN  changed:

   What|Removed |Added

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

--- Comment #3 from RazvanN  ---
The error message for the reduced test case is now:

test.d(13): Error: constructor `test.S.this(int* t1)` is not callable using
argument types `(const(int*))`
test.d(13):cannot pass argument `t3.ip` of type `const(int)*` to
parameter `int* t1`

The alias this is not mentioned because once the compiler uses it it just has
`t3.ip`, it does not have any information on how the expressions is obtained. I
think this is the best we can do with regards to the error message.

So this seems to have been improved. Closing as WORKSFORME.

--


[Issue 22559] ImportC: support gnu case ranges

2023-04-04 Thread d-bugmail--- via Digitalmars-d-bugs
https://issues.dlang.org/show_bug.cgi?id=22559

Dlang Bot  changed:

   What|Removed |Added

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

--- Comment #2 from Dlang Bot  ---
dlang/dmd pull request #15068 "fix Issue 22559 - ImportC: support gnu case
ranges" was merged into master:

- 098a82f6ce9693cbe4075be8d0fc179095a2eeab by Walter Bright:
  fix Issue 22559 - ImportC: support gnu case ranges

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

--


[Issue 23014] importC: static thread-locals do not work

2023-04-04 Thread d-bugmail--- via Digitalmars-d-bugs
https://issues.dlang.org/show_bug.cgi?id=23014

Dlang Bot  changed:

   What|Removed |Added

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

--- Comment #2 from Dlang Bot  ---
dlang/dmd pull request #15069 "fix Issue 23014 - importC: static thread-locals
do not work" was merged into master:

- 58baa9ef23e01943e2df1985f2e8dfbc38aa7f0b by Walter Bright:
  fix Issue 23014 - importC: static thread-locals do not work

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

--


[Issue 23816] Typing invalid mnemonic in asm{} block segfaults

2023-04-04 Thread d-bugmail--- via Digitalmars-d-bugs
https://issues.dlang.org/show_bug.cgi?id=23816

Dlang Bot  changed:

   What|Removed |Added

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

--- Comment #3 from Dlang Bot  ---
dlang/dmd pull request #15060 "Fix Issue 23816 - Typing invalid mnemonic in
asm{} block segfaults" was merged into stable:

- 1a3eb0ea5761fdc249ec5e765d1a3160ed49581b by RazvanN7:
  Fix Issue 23816 - Typing invalid mnemonic in asm{} block segfaults

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

--


[Issue 20737] TLS variables unusable with -betterC for Windows MSVC targets

2023-04-04 Thread d-bugmail--- via Digitalmars-d-bugs
https://issues.dlang.org/show_bug.cgi?id=20737

--- Comment #5 from Walter Bright  ---
More info here:

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

--


[Issue 23014] importC: static thread-locals do not work

2023-04-04 Thread d-bugmail--- via Digitalmars-d-bugs
https://issues.dlang.org/show_bug.cgi?id=23014

Walter Bright  changed:

   What|Removed |Added

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

--


[Issue 20737] TLS variables unusable with -betterC for Windows MSVC targets

2023-04-04 Thread d-bugmail--- via Digitalmars-d-bugs
https://issues.dlang.org/show_bug.cgi?id=20737

Walter Bright  changed:

   What|Removed |Added

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

--