Issue 12677 - Assertion failure: 'isCtfeValueValid(newval)' on line 6579 in file 'interpret.c'

https://issues.dlang.org/show_bug.cgi?id=12677
In following example:

```d
int[] a; a = [1,2,3];
Object o; o = new Object();
int* p; p = new int();
```

The all rhs of assignments are rvalue, but assigned variables will work as reference. So essentially, if `wantLvalueRef == false`, e2goal could be `ctfeNeedRvalue` here.

*But*, in current CTFE interpreter, the "ref-ness" is not equivalent with the front-end lvalue-ness. I'm really not sure the actual reason of that yet...

So this change is a minimal fix for the issue.