GCC's C++17 implementation is not stable yet, so there are still ABI
changes possible between GCC 8 and GCC 9.
IIRC we've already introduced some (minor) incompatibilities between
the std::variant in GCC 7 and GCC 8.
gtkmm-4.0 is itself unstable, so that's not a problem. And I see no
sign that GTK+ 4.0 will become stable any time soon.
Would it be acceptable to use std::optional in gtkmm-4.0?
I'm planning to wrap the new GtkGestureStylus class.
gboolean gtk_gesture_stylus_get_axis(GtkGestureStylus *gesture, GdkAxisUse axis, gdouble *value);
could then become
std::optional<double> get_axis(Gdk::AxisUse axis) const;