clayborg wrote:

> > ### Goal
> > Every `ValueObjectSP` will have an actual value and will never be equal to 
> > `nullptr`.
> 
> I would like to learn more about the goal. It seems like the existing code 
> will result in widespread use of `optional<shared_ptr<ValueObject>>`. Is the 
> plan to reduce these cases to a smaller amount? If not, then it's not clear 
> to me how having the codebase predominantly use 
> `optional<shared_ptr<ValueObject>>` is better than mostly using 
> `shared_ptr<ValueObject>`. Is this refactoring a known (named) pattern? Are 
> there other examples of where a `shared_ptr<T>` is replaced with 
> `optional<shared_ptr<T>>`?

I agree. Returning a empty shared pointer is better than adding std:optional on 
top of that. Hopefully we can avoid that.

https://github.com/llvm/llvm-project/pull/74912
_______________________________________________
lldb-commits mailing list
lldb-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/lldb-commits

Reply via email to