1 Sep
2017
1 Sep
'17
4:30 p.m.
I recently worked on a patch where - because of the organic refactoring of the patch over its development - I ended up with a std::optional<Ref> instead of a RefPtr. A followup review after it had already landed pointed this out, and it got me to thinking: Does RefPtr do anything for us today that std::optional<Ref> doesn’t? I kind of like the idea of replacing RefPtr with std::optional<Ref>. It makes it explicitly clear what object is actually holding the reference, and completely removes some of the confusion of “when should I use Ref vs RefPtr?" Thoughts? Thanks, ~Brady