Don <> changed:

           What    |Removed                     |Added
             Status|RESOLVED                    |REOPENED
         Resolution|INVALID                     |

--- Comment #3 from Don <> 2012-02-01 02:21:04 PST ---
(In reply to comment #2)
> I'm going to argue this is not a bug.
> While "xxx" is immutable, "xxx"~['c'] is mutable. Otherwise, it would be an
> error to use it to initialize x2.
> Hence, x2 can modify it. Since x2 is a reference to the initializer, not a 
> copy
> of it, the initializer is modified.
> The spec says that string literals in the source code are immutable, not
> incidental string literals in the compiler that result from other operations.

Reopened, because in every other respect, it behaves as an immutable string

On Linux, the test case causes a segfault -- it's an attempt to modify an
read-only literal.
On Windows, it's a secret global variable. You can even mark it as pure.
I don't think we can afford to have something so simple causing undefined

Fixing this bug isn't a big deal, btw. Now that I've put an isCtfe flag in
array literals, this case can go back to being an ArrayLiteral without hurting
CTFE performance.

Configure issuemail:
------- You are receiving this mail because: -------

Reply via email to