/mir/include/common/mir/optional_value.h:31:45: error: no viable conversion from 'const mir::input::PointerSettings' to 'MirPointerButton'
optional_value(T const& value) : value_{value}, is_set_{true} {}
+ PointerSettings() {}
"Otherwise clang does not allow construction with {}"
I'm confused. We're in the optional_value<PointerSettings> converting constructor, are trying to construct a MirPointerButton(!) and this is solved by giving PointerSettings() a user-defined default constructor?
...
Oh! clang is trying to use aggregate initialization and that is defeated by adding any user-defined constructor.
/mir/include/ common/ mir/optional_ value.h: 31:45: error: no viable conversion from 'const mir::input: :PointerSetting s' to 'MirPointerButton' value(T const& value) : value_{value}, is_set_{true} {}
optional_
+ PointerSettings() {}
"Otherwise clang does not allow construction with {}"
I'm confused. We're in the optional_ value<PointerSe ttings> converting constructor, are trying to construct a MirPointerButton(!) and this is solved by giving PointerSettings() a user-defined default constructor?
...
Oh! clang is trying to use aggregate initialization and that is defeated by adding any user-defined constructor.