zturner added a comment. Also I think it doesn't need to be specific to member variables. We could just have
template <typename T> class Lazy { std::function<T()> Update; Optional<T> Value; public: LazyValue(std::function<T()> Update) : Update(std::move(Update)) {} }; Then, to get the same member functionality, you could just say: struct Foo { Foo() : LazyBool([this]() { return expensiveComputeBool(); }) {} Lazy<bool> LazyBool; bool expensiveComputeBool(); }; Repository: rLLDB LLDB https://reviews.llvm.org/D51557 _______________________________________________ lldb-commits mailing list lldb-commits@lists.llvm.org http://lists.llvm.org/cgi-bin/mailman/listinfo/lldb-commits