Thread overview | |||||
---|---|---|---|---|---|
|
October 11, 2017 Result of CTFE should be implicitly castable to immutable | ||||
---|---|---|---|---|
| ||||
My motivation is, of course, std.regex. static immutable r = regex("abc"); This is perfectly fine but because in general there is some amount of impurtiy in regex and it won't work. Yet regex is called at CTFE so there is no way it can escape mutable pointer to its result. Thoughts? |
October 11, 2017 Re: Result of CTFE should be implicitly castable to immutable | ||||
---|---|---|---|---|
| ||||
Posted in reply to Dmitry Olshansky | On 10/11/17 10:30 AM, Dmitry Olshansky wrote:
> My motivation is, of course, std.regex.
>
> static immutable r = regex("abc");
>
> This is perfectly fine but because in general there is some amount of impurtiy in regex and it won't work. Yet regex is called at CTFE so there is no way it can escape mutable pointer to its result.
>
> Thoughts?
100% agree. Any CTFE'd result is implicitly unique. In fact CTFE annoyingly makes everything unique, even where it doesn't have to!
Please file enhancement request if not already.
-Steve
|
October 11, 2017 Re: Result of CTFE should be implicitly castable to immutable | ||||
---|---|---|---|---|
| ||||
Posted in reply to Dmitry Olshansky | On Wednesday, 11 October 2017 at 14:30:54 UTC, Dmitry Olshansky wrote:
> My motivation is, of course, std.regex.
>
> static immutable r = regex("abc");
>
> This is perfectly fine but because in general there is some amount of impurtiy in regex and it won't work. Yet regex is called at CTFE so there is no way it can escape mutable pointer to its result.
>
> Thoughts?
For whatever it's worth, I also agree.
Mike
|
Copyright © 1999-2021 by the D Language Foundation