CTFE is getting too powerful :o)

Timon Gehr timon.gehr at gmx.ch
Wed Mar 27 14:58:36 PDT 2013


On 03/27/2013 10:37 PM, H. S. Teoh wrote:
> On Wed, Mar 27, 2013 at 10:19:12PM +0100, Timon Gehr wrote:
>> On 03/27/2013 06:50 PM, H. S. Teoh wrote:
>>> On Wed, Mar 27, 2013 at 06:29:59PM +0100, Timon Gehr wrote:
>>>> On 03/27/2013 06:20 PM, H. S. Teoh wrote:
>>>>> On Wed, Mar 27, 2013 at 05:55:54PM +0100, Timon Gehr wrote:
>>>>> [...]
>>>>>> If CTFE does not terminate, compilation is not allowed to succeed.
>>>>>
>>>>> Heh, I think this one is unimplementable, as it amounts to solving
>>>>> the halting problem. :)
>>>>> ...
>>>>
>>>> Actually it does not. Non-success denotes either failure or
>>>> non-termination.
>>>
>>> But how do you check for non-termination?
> [...]
>>
>> Why would you need to?
>
> How else would you force compilation to fail in that case?
>
>
> T
>

You don't have to.

"If CTFE does not terminate, compilation is not allowed to succeed."

&&

"Non-success denotes either failure or non-termination."

==>

"If CTFE does not terminate, compilation should either fail or not 
terminate."


More information about the Digitalmars-d mailing list