[Issue 23966] [REG2.102] Cannot use traits(getAttributes) with overloaded template

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

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

- bb88be3bb1cb3c483bb35113c353b7c087ca6e97 by Razvan Nitu:
  Fix Issue 23966 - [REG2.102] Cannot use traits(getAttributes) with overloaded
template (#15353)

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

--


[Issue 24022] ImportC: Error: attribute `__anonymous` is used as a type

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

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

- 11d8f17c0f0917ed53154577a8cc7b2d5196e909 by Dmytro Katyukha:
  ImportC: Issue 24022 - Error: attribute `__anonymous` is used as a type
(#15365)

  * Implement test case for Issue 24022

  * [FIX] Issue 24022

  Bug investigation info
  ==

  Currently (before this fix) on attempt to use `enum`
  declared as `typedef enum {A=1} E;` as type of argument in D function,
  it (`enum`) will be resolved as `kind=attribute` on during semantic
  analysis for D
 
([typesem.d](https://github.com/dlang/dmd/blob/5e1e97078faff33afbb999bc986ead7bdb0b2653/compiler/src/dmd/typesem.d#L1504)),
  but it have to be resolved as type.

  The `enum` declared this way is handled by this
 
[code](https://github.com/dlang/dmd/blob/5e1e97078faff33afbb999bc986ead7bdb0b2653/compiler/src/dmd/cparse.d#L1907),
  and `declareTag` returns the attribute instead of type, but
  later, there is [code that create alias for
attribute](https://github.com/dlang/dmd/blob/5e1e97078faff33afbb999bc986ead7bdb0b2653/compiler/src/dmd/cparse.d#L1918C29-L1918C79),
  though, it seems, that alias have to be created to type, instead of
attribute.

  Investigating
 
[declareTag](https://github.com/dlang/dmd/blob/5e1e97078faff33afbb999bc986ead7bdb0b2653/compiler/src/dmd/cparse.d#L1715)
  function shows that the returned value changed by call to
[applySpecifier](https://github.com/dlang/dmd/blob/5e1e97078faff33afbb999bc986ead7bdb0b2653/compiler/src/dmd/cparse.d#L5234),
  that applies `AlignDeclaration` when `if
  (!specifier.packalign.isDefault())`.

  Fix info
  

  With this commit the alias will be created to TypeTag, instead of
  attribute produced by declared tag.

  Also, the code simplified, because there is no more need for special
  handling of enums in modified piece of code.

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

--


[Issue 23951] "alias this" not properly dereferenced when the object being looked up is a field of a type

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

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

- 452e170d2ad0c547dd1a4fe45e21af0cde87565c by Razvan Nitu:
  Fix Issues 23951 and 23279 - traits(hasMember) does not follow alias this +
ICE when using traits(hasMember) on an erroneous member (#15406)

  * Fix Issue 23951 - traits(getMember) does not follow alias this

  * Fix Issue 23279 - ICE when using traits(hasMember) with an erroneous member

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

--


[Issue 24026] ImportC: ICE on nested C initializer 2

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

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

- 78dc82bca27d572065e59c227c22c639d5157f34 by Walter Bright:
  fix Issue 24026 - ImportC: ICE on nested C initializer 2 (#15375)

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

--


[Issue 23279] Segmentation fault on mixin template + using unknown type

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

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

- 452e170d2ad0c547dd1a4fe45e21af0cde87565c by Razvan Nitu:
  Fix Issues 23951 and 23279 - traits(hasMember) does not follow alias this +
ICE when using traits(hasMember) on an erroneous member (#15406)

  * Fix Issue 23951 - traits(getMember) does not follow alias this

  * Fix Issue 23279 - ICE when using traits(hasMember) with an erroneous member

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

--


[Issue 23890] "Warning: cannot inline function" in core.lifetime

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

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

- aef22a7b22eae60c73ba4cf9f0b2d130083cacdc by Vladimir Panteleev:
  Fix Issue 23890 - "Warning: cannot inline function" in core.lifetime (#15186)

  * Fix Issue 23890 - "Warning: cannot inline function" in core.lifetime

  * druntime/test/profile: Divorce test from exact Druntime source numbers

  Allow lines to move around in core/lifetime without affecting this test.

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

--


[Issue 24027] error: instantiated from here: `maxElement!("a.a", A[])`

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

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

- dfcbee7056318734aaa88d9051369463eb94c637 by FeepingCreature:
  Fix issue 24027: Instead of a bunch of special-cases, just check that
`Rebindable` did in fact alias itself away.
  This looks ugly, but it's just for the `stable` branch - this is fixed on
`master` via the `Rebindable2` rewrite
https://github.com/dlang/phobos/pull/8768

https://github.com/dlang/phobos/pull/8782

--


[Issue 24022] ImportC: Error: attribute `__anonymous` is used as a type

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

--- Comment #7 from Dlang Bot  ---
@ibuclaw created dlang/dmd pull request #15417 "merge stable" mentioning this
issue:

- ImportC: Issue 24022 - Error: attribute `__anonymous` is used as a type
(#15365)

  * Implement test case for Issue 24022

  * [FIX] Issue 24022

  Bug investigation info
  ==

  Currently (before this fix) on attempt to use `enum`
  declared as `typedef enum {A=1} E;` as type of argument in D function,
  it (`enum`) will be resolved as `kind=attribute` on during semantic
  analysis for D
 
([typesem.d](https://github.com/dlang/dmd/blob/5e1e97078faff33afbb999bc986ead7bdb0b2653/compiler/src/dmd/typesem.d#L1504)),
  but it have to be resolved as type.

  The `enum` declared this way is handled by this
 
[code](https://github.com/dlang/dmd/blob/5e1e97078faff33afbb999bc986ead7bdb0b2653/compiler/src/dmd/cparse.d#L1907),
  and `declareTag` returns the attribute instead of type, but
  later, there is [code that create alias for
attribute](https://github.com/dlang/dmd/blob/5e1e97078faff33afbb999bc986ead7bdb0b2653/compiler/src/dmd/cparse.d#L1918C29-L1918C79),
  though, it seems, that alias have to be created to type, instead of
attribute.

  Investigating
 
[declareTag](https://github.com/dlang/dmd/blob/5e1e97078faff33afbb999bc986ead7bdb0b2653/compiler/src/dmd/cparse.d#L1715)
  function shows that the returned value changed by call to
[applySpecifier](https://github.com/dlang/dmd/blob/5e1e97078faff33afbb999bc986ead7bdb0b2653/compiler/src/dmd/cparse.d#L5234),
  that applies `AlignDeclaration` when `if
  (!specifier.packalign.isDefault())`.

  Fix info
  

  With this commit the alias will be created to TypeTag, instead of
  attribute produced by declared tag.

  Also, the code simplified, because there is no more need for special
  handling of enums in modified piece of code.

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

--