https://gcc.gnu.org/bugzilla/show_bug.cgi?id=77288
--- Comment #5 from Ville Voutilainen <ville.voutilainen at gmail dot com> --- Ah. That would indeed mean that every converting assignment introduces a temporary. Design-wise I'd rather have it so that optional doesn't convert at all in the assignment. :)