newCTFE Status June 2020
Stefan Koch
uplink.coder at googlemail.com
Sun Jun 7 11:58:09 UTC 2020
Hi Guys,
Because of my recent efforts to move type-list manipulation and
type based computation from templates into CTFE, and because the
debugging features I added to DMD are working again.
I ported newCTFE to the latest "stable" release of DMD 2.092.0.
While trying to test newCTFE on some std.regex code to see if it
would make a difference there, I noticed that default
construction of classes is broken.
This is because dmd is a little funky and does not generate a
default construction-function for you.
Rather it leaves you to build your own.
(As far as I can see anyways.)
Which I then documented on a new wiki page were all of my more
surprising discoveries about dmd will land.
[https://wiki.dlang.org/Random_DMD_Facts]
This promoted me to clean up my assignment-to-field code which
was duplicated for structs and classes.
More such cleanup passes will happen and hopefully bring the
code-size of newCTFE down considerably.
I will try to stay in sync with stable as far as possible.
So newCTFE will never fall 18 versions behind again.
I was going to rant about what exactly caused me to fall so far
behind.
But since this is a public forum and I do not want to point at
particular people,
(who are hopefully aware of their misguided actions)
I am going to skip that part and hope that in the future,
discussion and exchange of opinions, as well as seeking peer
approval; will prevent breaking the internal API in a major
undesirable way.
With that I wish all of you a good day,
Stefan
More information about the Digitalmars-d
mailing list