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