https://gcc.gnu.org/bugzilla/show_bug.cgi?id=100823
Bug ID: 100823 Summary: Special member functions of common_iterator should be conditionally trivial Product: gcc Version: 12.0 Status: UNCONFIRMED Severity: normal Priority: P3 Component: libstdc++ Assignee: unassigned at gcc dot gnu.org Reporter: rs2740 at gmail dot com Target Milestone: --- At least as a QoI matter, the special member functions of common_iterator<I, S> should be trivial when the corresponding special member function of variant<I, S> is. Given that the standard depicts a variant<I, S> exposition-only member with implicitly declared special member functions, it is arguable that this is actually required. There appears to be a couple other conformance issues too: - the move special members are missing - the copy assignment calls the converting assignment operator, but unlike the latter, there's no !valueless_by_exception() precondition on the (implicitly declared) copy assignment.