Well a certain amount of confusion is expected when you read documentation for 
version X while using version Y. But it's like this:

We have multiple "GCs" since a long time. Though in retrospect GC should have 
been called "memory management strategy". There are two new GCs in development, 
ARC and ORC. ARC is reference counting with move semantics and RC elisions. ORC 
is ARC with a cycle collector. `--newruntime` should be removed, it is an 
experiment that lead to ARC's development. All GCs except ORC are moribund, the 
only trouble is that ORC is still in heavy development...

Shallow copies are problematic because you cannot shallow copy a seq and then 
grow it later afterwards. Move sematics are a much better solution to the 
problem but back then they were unknown to me -- C++ still lacked them.

Reply via email to