https://gcc.gnu.org/bugzilla/show_bug.cgi?id=92650
Bug ID: 92650 Summary: internal compiler error: canonical types differ for identical types Product: gcc Version: 10.0 Status: UNCONFIRMED Severity: normal Priority: P3 Component: c++ Assignee: unassigned at gcc dot gnu.org Reporter: ldalessandro at gmail dot com Target Milestone: --- Created attachment 47349 --> https://gcc.gnu.org/bugzilla/attachment.cgi?id=47349&action=edit test case Following code triggers ICE on (godbolt) trunk only. See https://godbolt.org/z/q4CrvX. It's hard for me to disambiguate from other reports with the same error message, but it seems new. #include <range/v3/all.hpp> struct Wrapper { int a[1]; constexpr operator int() const { return a[0]; } }; int main() { std::vector<int> a; auto all = ranges::views::all(a); auto zip = ranges::views::zip(a); Wrapper b; *all.begin() = b; *zip.begin() = b; }