https://gcc.gnu.org/bugzilla/show_bug.cgi?id=87205
--- Comment #8 from Peter Dimov <pdimov at gmail dot com> --- (In reply to Martin Liška from comment #7) > I'm not sure here Y<N> are different types here and member access based on > the type is distinct. Yes, one could argue that, I suppose. But in the `return ((Y<0>*)p)->v;` case the member access _is_ lifted outside the jump table. If that's correct there, it should also be correct here. :-)