how to mark an extern function @nogc?

Seb via Digitalmars-d-learn digitalmars-d-learn at puremagic.com
Tue Jul 12 07:04:55 PDT 2016


On Tuesday, 12 July 2016 at 00:17:32 UTC, Adam Sansier wrote:
> On Monday, 11 July 2016 at 15:54:02 UTC, Seb wrote:
>> On Monday, 11 July 2016 at 01:59:51 UTC, Adam Sansier wrote:
>>> On Monday, 11 July 2016 at 01:58:23 UTC, Adam Sansier wrote:
>>>> I'm using some win functions that don't use the gc and are 
>>>> not marked, specifically CLSIDFromString that I imported 
>>>> myself(it's not marked nogc in objbase).
>>>
>>> I went ahead and copied the import and added nogc. Shouldn't 
>>> someone add that to objbase?
>>
>> Why don't you fork it & add it yourself?
>> Otherwise to quote Walter: "a bug only exists if it's on 
>> Bugzilla [issues.dlang.org]" ;-)
>
> If this is a bug then there are some serious issues with D's 
> protocol of updating code. How can entire modules be missed? It 
> seems the maintainers of D's library code do not actually use 
> most of the features then? D needs a real code test suite to 
> keep stuff like this from happening, not individual users from 
> the outside to keep it in shape which makes me feel like a 
> guinea pig. I won't stick around too long if that's the case.

Well the code quality standards are actually quite high for D 
(and the test suites are there), but the problem that you 
discovered here is that most modules have been written before the 
moderately new @nogc keyword has been introduced. Phobos alone 
has  > 100K LoC, so it just takes a bit of time until new 
features are propagated through the entire codebase and help is 
appreciated there because D is entirely driven by highly 
motivated volunteers. (this will change soon with the new D 
foundation)
That being said (1) there are currently between 2-5 PRs per day 
to add more annotations to Phobos, (2) most code in Phobos is 
templated and thus the compiler can automatically infer 
attributes.


More information about the Digitalmars-d-learn mailing list