Andrei's list of barriers to D adoption
Steven Schveighoffer via Digitalmars-d
digitalmars-d at puremagic.com
Tue Jun 7 12:01:59 PDT 2016
On 6/7/16 2:43 PM, jmh530 wrote:
> On Tuesday, 7 June 2016 at 18:32:05 UTC, Adam D. Ruppe wrote:
>> On Tuesday, 7 June 2016 at 18:24:33 UTC, Walter Bright wrote:
>>> You can also add:
>>>
>>> @nogc:
>>>
>>> at the top, too. It isn't necessary to tediously annotate every
>>> function.
>>
>> @nogc:
>>
>> struct Foo {
>> int* a() { return new int; }
>> }
>
> Are you trying to say that you shouldn't be allowed to do that? I get an
> error when I actually call x.a().
>
> @nogc:
>
> struct Foo {
> int* a() { return new int; }
> }
>
> void main()
> {
> Foo x;
> auto y = x.a();
> }
That's because main is @nogc. If you did:
void main()
{
Foo x;
auto y = x.a();
}
@nogc:
struct Foo {
int* a() { return new int; }
}
it would work. Adam's point is that putting @nogc: at the top doesn't
mark everything @nogc.
-Steve
More information about the Digitalmars-d
mailing list