On 03-Sep-12 16:32, Piotr Szturmaj wrote:
Dmitry Olshansky wrote:
On 01-Sep-12 17:01, Adam D. Ruppe wrote:
On Saturday, 1 September 2012 at 12:39:41 UTC, Dmitry Olshansky wrote:
I'd say
@nogc:
at the top and deal is sealed.

BTW don't forget a @yesgc would be good to counter it. We need
a way to turn off each attribute to use this pattern best.

What I see with this @nogc proposal is that that problem it tries to
solve (and tool used to do so) is far more interesting and general.

Namely the problem is to specify that some functions can call only
specific subset of functions and able to use only specific subset of
language features. It's more far reaching then just gc, one may want to
get @noblocking  or @async attribute to statically check e.g. that GUI
thread can't ever block.
(it would however require to identify API calls that don't block, not
possible on every OS, might entail some wrappers etc. but is very
desirable)

[snip]

The idea in a nutshell:

[snip]

How the attribute inferring works in this proposal?

Interesting... and it seems like user-defined tags can't be inferred or that it would need more thought.

However restrictions can be inferred by observing which things which template instance does and the tags of functions it calls. It's exactly the same as now but every restriction out of a set (say @safe) now get inferred separately.

--
Olshansky Dmitry

Reply via email to