Also foreach typicaly throws exceptions ( collection modified while being enumerated is very useful) , which are typically heap allocated ( they possibly could be region but it gets messy fast ) .
Ben On Sun, Jan 5, 2014 at 1:02 PM, Ben Kloosterman <[email protected]> wrote: > > > > On Sun, Jan 5, 2014 at 12:43 PM, Jonathan S. Shapiro <[email protected]>wrote: > >> On Sat, Jan 4, 2014 at 7:43 PM, Ben Kloosterman <[email protected]>wrote: >> >>> Taking a step back I dont see how life time is becomes an issue just by >>> changing an interface from a reference type to a value type . >>> >> >> Simple. A reference type, ultimately, cannot be stack allocated. It is >> always correct to simply migrate the reference type into the general GC >> heap (i.e. the oldest region). Value types can be stack allocated. Along >> with that comes hard region bounds. >> > > I dont see an issue for the interface being value typed and on the stack > its no diffirent to nay other value type holding a reference. > > >> >>> For interfaces to objects an interface cant outlive an object when the >>> interface holds a "reference" to it . They will always be collected ( >>> whether stack frame , region of GC) together or interface then object. >>> >> >> For an interface to a stack allocated value type, this is not correct. >> > > Yep . I said that later but it doesnt answer the question whether > interfaces should refer to stack allocated value types . What else does > that introduce ? > > Ben >
_______________________________________________ bitc-dev mailing list [email protected] http://www.coyotos.org/mailman/listinfo/bitc-dev
