On Friday, 19 September 2014 at 15:32:38 UTC, Andrei Alexandrescu wrote:
First, there must be some compiler flag -nogc or something, which triggers the RC exceptions. All modules of an application must be compiled with this flag if it is to work (such that one module can throw an exception caught by the other). Of course a lot of refinement needs to be added here (what happens if one tries to link modules built with and without -nogc, allowing people to detect the flag programmatically by using version(nogc) etc).

Won't using -nogc preclude using this in Phobos/Druntime?

How about instead of a new switch, change the name mangling of anything that inherits from RCObject? E.g. 'C' is used for classes, 'R' could be used for reference-counting classes. Then an ordinary version block can be used to switch between the two.

Reply via email to