[Issue 5057] std.variant.Algebraic-aware GC

2012-10-09 Thread d-bugmail
http://d.puremagic.com/issues/show_bug.cgi?id=5057 Alex R�nne Petersen a...@lycus.org changed: What|Removed |Added Status|NEW |RESOLVED

[Issue 5057] std.variant.Algebraic-aware GC

2012-10-09 Thread d-bugmail
http://d.puremagic.com/issues/show_bug.cgi?id=5057 --- Comment #6 from bearophile_h...@eml.cc 2012-10-09 19:28:00 PDT --- (In reply to comment #5) Let us revisit this if it ever becomes a problem in practice; I very much doubt it. At any rate, special-casing it in the GC is the wrong kind

[Issue 5057] std.variant.Algebraic-aware GC

2012-10-09 Thread d-bugmail
http://d.puremagic.com/issues/show_bug.cgi?id=5057 --- Comment #7 from Alex R�nne Petersen a...@lycus.org 2012-10-10 04:33:54 CEST --- (In reply to comment #6) (In reply to comment #5) Let us revisit this if it ever becomes a problem in practice; I very much doubt it. At any rate,

[Issue 5057] std.variant.Algebraic-aware GC

2010-10-22 Thread d-bugmail
http://d.puremagic.com/issues/show_bug.cgi?id=5057 --- Comment #4 from nfx...@gmail.com 2010-10-22 05:12:09 PDT --- (In reply to comment #2) I don't see how a class may replace an union. Variant/Algebraic has to store its data somewhere. Currently it uses some horrible hack to store it inline

[Issue 5057] std.variant.Algebraic-aware GC

2010-10-21 Thread d-bugmail
http://d.puremagic.com/issues/show_bug.cgi?id=5057 --- Comment #3 from bearophile_h...@eml.cc 2010-10-21 09:38:59 PDT --- A more general solution it to add to D an optional standard method, that may be named onScan or something else, that the garbage collection calls if present, and returns

[Issue 5057] std.variant.Algebraic-aware GC

2010-10-15 Thread d-bugmail
http://d.puremagic.com/issues/show_bug.cgi?id=5057 nfx...@gmail.com changed: What|Removed |Added CC||nfx...@gmail.com --- Comment #1

[Issue 5057] std.variant.Algebraic-aware GC

2010-10-15 Thread d-bugmail
http://d.puremagic.com/issues/show_bug.cgi?id=5057 --- Comment #2 from bearophile_h...@eml.cc 2010-10-15 09:35:53 PDT --- (In reply to comment #1) The simplest way to implement this is not using that union trick and store all data in a templated class like this: class VariantStorage(T) {