CTFE and DI: The Crossroads of D

Steven Schveighoffer schveiguy at yahoo.com
Thu May 10 12:10:44 PDT 2012


On Thu, 10 May 2012 14:25:04 -0400, Adam Wilson <flyboynw at gmail.com> wrote:

> On Thu, 10 May 2012 11:22:36 -0700, Timon Gehr <timon.gehr at gmx.ch> wrote:
>
>> On 05/10/2012 08:15 PM, Adam Wilson wrote:
>>> On Thu, 10 May 2012 11:10:15 -0700, David Gileadi
>>> <gileadis at nspmgmail.com> wrote:
>>>
>>>> On 5/10/12 11:01 AM, Adam Wilson wrote:
>>>>> It does require some semantic information. And the solution I've seen
>>>>> seen most talked about here is some kind of attribute similar to  
>>>>> @pure
>>>>> that tells the compiler to include the implementation in the DI file.
>>>>
>>>> I may be off-base here, but this strikes me as a good case for a
>>>> pragma. No?
>>>
>>> Well, it's needs to be at a function level to be useful.
>>>
>>
>> pragmas can apply to declarations.
>>
>> The syntax is
>>
>> pragma(identifier,...) Declaration
>>
>> (Where Declaration can be the empty declaration, ';')
>>
>> pragma(keepImplementation) void foo(){ ... }
>
> That could work, although it's more typing than I personally want to do.  
> It depends on how much of the pragma the DI generator actually sees  
> though ... you'd be surprised at what it doesn't see.

pragma == specific to compiler
@attribute == language feature.

I think we should go with language feature on this one.

-Steve


More information about the Digitalmars-d mailing list