February 08, 2023 [Issue 23680] New: Support static classes in D | ||||
|---|---|---|---|---|
| ||||
https://issues.dlang.org/show_bug.cgi?id=23680 Issue ID: 23680 Summary: Support static classes in D Product: D Version: D2 Hardware: x86 OS: Windows Status: NEW Severity: enhancement Priority: P1 Component: dmd Assignee: nobody@puremagic.com Reporter: msnmancini@hotmail.com D must support the following syntax: ```d static class Abc { void print(){writeln("Print");} } ``` This should be expanded to: ```d class Abc { @disable this(); static: void print(){writeln("Print");} } ``` Rationale: (This *could* be a DIP, but I don't want it to get hidden from who's developing the compiler, plus that's a trivial request and I don't want to lost time again writing useless things) 1: Currently `static class` has no meaning and the compiler simply ignores, which can surprise a lot of newcomers as it *seems* valid code but it doesn't seem to work. 2: A lot of people comes from C# and Java to test D and they find it inexcusable to not have them. D does not have a namespace keyword and that behavior is not possible to simulate using a single file, so a class must be used. This should be trivial to implement and would be a beginner friend feature. Forum posts: [1]: https://forum.dlang.org/post/gsangocdehujoonrmyyp@forum.dlang.org [2]: https://forum.dlang.org/thread/hyjahtzdvxanzvgvpxkl@forum.dlang.org?page=1 Keep in mind that every now and then it appears people trying to do that on the D discord so this is overlooked all the time. -- | ||||
Copyright © 1999-2021 by the D Language Foundation
Permalink
Reply