This data formatter should print "No Value" if a variant is unset. It does so by checking if __index has a value of -1, however it does so by interpreting it as a signed int.
By default, __index has type unsigned int. When _LIBCPP_ABI_VARIANT_INDEX_TYPE_OPTIMIZATION is enabled, the type of __index is either unsigned char, unsigned short, or unsigned int, depending on how many fields there are -- as small as possible. For example, when std::variant has only a few types, the index type is unsigned char, and the npos value will be interpreted by LLDB as 255 when it should be -1.
This change does not special case the variant optimization; it just reads the type instead of assuming it's unsigned int.
I'd probably use fixed with types (uint8_t et al.) here.