DIP1000 & Owning Containers
jmh530
john.michael.hall at gmail.com
Mon Jan 8 23:41:03 UTC 2018
DIP1000 has a section on owning containers where it shows that
you can have a reference to a member of a struct that will not
outlive the struct itself. This seems to work through the
function opAssign being scope ref.
Why wouldn't you normally be allowed to make a scoped pointer to
a member of a struct? By contrast, it says near the top that you
can use scope to annotate non-static member functions and
delegates, which would be other examples of interior pointers,
but no mention of members.
Also, I don't really have a good sense of how DIP1000 will be
implemented. If I got a reference to payload in that Owned
Containers section, then surely the compiler would know what that
some instance of RefCountedSlice is the owner, at least at
compile-time. Would it be possible to have a trait that is like
getOwner(payload) and maybe have it return a string for the name
of the instance?
More information about the Digitalmars-d-learn
mailing list