Bug 24799 – [Regression] Protected template constructors cannot be accessed outside their module.

Status
NEW
Severity
regression
Priority
P1
Component
dmd
Product
D
Version
D2
Platform
x86_64
OS
Linux
Creation time
2024-10-06T10:55:36Z
Last change time
2024-12-13T19:37:56Z
Assigned to
No Owner
Creator
dadoum
Moved to GitHub: dmd#20527 →

Comments

Comment #0 by dadoum — 2024-10-06T10:55:36Z
It used to work before, as ldc2 1.34 was able to build that code. However, now neither ldc2 nor dmd can build that code. (This also prevents botan from being built) Basic reproducer : base.d ```d module base; class Base { protected: this(T)(T) { } } ``` super_.d ```d module super_; import base; class Derived: Base { this() { super("Example"); } } ```` ``` $ ldc2 -i ./super_.d ./source/super.d(7): Error: constructor `base.Base.__ctor!string.this` is not accessible from module `super_` ```
Comment #1 by robert.schadek — 2024-12-13T19:37:56Z
THIS ISSUE HAS BEEN MOVED TO GITHUB https://github.com/dlang/dmd/issues/20527 DO NOT COMMENT HERE ANYMORE, NOBODY WILL SEE IT, THIS ISSUE HAS BEEN MOVED TO GITHUB