digitalmars.D - newCTFE Status Feburary 2019
- Stefan Koch (30/30) Feb 05 2019 Hi Guys,
- Stefan Koch (5/8) Feb 05 2019 Fixed. The cause was a misplaced return which would skip the
- H. S. Teoh (6/17) Feb 05 2019 Awesome.
Hi Guys,
I've just fixed interactions between structures and delegates.
making the following code work:
struct S2
{
int x = 64;
int[2] a;
}
S2 fn2()
{
S2 s = S2.init;
void initS()
{
s.x = 1;
s.a[0] = 2;
s.a[1] = 3;
}
initS();
return s;
}
static assert(fn2() == S2(1, [2, 3]));
--
There are still a few bugs to be fixed however.
One being broadcast assignment within the nested function.
if you were to write s.a = 2, that should result in s.a == [2,2].
However currently newCTFE will drop that assignment when
referring to to an outer variable
from within a nested function.
Technically this should not be too hard to fix, but currently I
can't put my finger on the cause ....
Feb 05 2019
On Tuesday, 5 February 2019 at 22:51:04 UTC, Stefan Koch wrote:Hi Guys, Technically this should not be too hard to fix, but currently I can't put my finger on the cause ....Fixed. The cause was a misplaced return which would skip the store of the created temporary array :p Sometimes it can be so simple. Broadcast array assignment works reliably now.
Feb 05 2019
On Tue, Feb 05, 2019 at 11:08:02PM +0000, Stefan Koch via Digitalmars-d wrote:On Tuesday, 5 February 2019 at 22:51:04 UTC, Stefan Koch wrote:Awesome. Can't wait for newCTFE to land in master... still looking forward... T -- "I'm running Windows '98." "Yes." "My computer isn't working now." "Yes, you already said that." -- User-FriendlyHi Guys, Technically this should not be too hard to fix, but currently I can't put my finger on the cause ....Fixed. The cause was a misplaced return which would skip the store of the created temporary array :p Sometimes it can be so simple. Broadcast array assignment works reliably now.
Feb 05 2019








"H. S. Teoh" <hsteoh quickfur.ath.cx>