https://gcc.gnu.org/bugzilla/show_bug.cgi?id=93907
--- Comment #6 from Martin Liška <marxin at gcc dot gnu.org> --- commit r10-7133-gbde31a76ba48be49dbe26317ce5e19d10ae9f310 Author: Jason Merrill <ja...@redhat.com> Date: Wed Mar 11 00:53:01 2020 -0400 c++: Fix ICE with concepts and aliases [PR93907]. The problem here was that we were checking satisfaction once with 'e', a typedef of 'void', and another time with 'void' directly, and treated them as different for hashing based on the assumption that canonicalize_type_argument would have already removed a typedef that wasn't a complex dependent alias. But that wasn't happening here, so let's add a call. gcc/cp/ChangeLog 2020-03-11 Jason Merrill <ja...@redhat.com> PR c++/93907 * constraint.cc (tsubst_parameter_mapping): Canonicalize type argument.