Это на самом деле не о неявном преобразовании, а о типе инициализации.
Необязательно есть функция явного преобразования, т. Е.
explicit operator bool() const;
из N4849 [класс. conv.fct] / p2
Функция преобразования может быть явной (9.2.2), и в этом случае она рассматривается только как определяемое пользователем преобразование для прямой инициализации.
Вышеуказанное означает, что в этих случаях будет использоваться функция преобразования: [dcl.init] / p16
Происходящая инициализация (16.1) - для инициализатора, являющегося списком выражений в скобках или braced-init-list, (16.2) - для нового инициализатора (7.6.2.7), (16.3) - в выражении static_cast (7.6.1.8), (16.4) - в преобразовании типа функциональной нотации (7.6. 1.3) и (16.5) - в форме фигурного списка инициализации условие называется прямой инициализацией.
Однако в этих случаях не будет использоваться функция преобразования: [dcl.init] / p15
Инициализация tha t происходит в виде = инициализации или условия скобки или равенства (8.5), а также при передаче аргумента, возврате функции, генерации исключения (14.2), обработке исключения (14.4) и инициализации члена (9.4). .1), называется copy-initialization.
Пример в вопросе относится к случаю инициализации копирования и не использует опциональную функцию преобразования.