Target target{source} は direct-initialization であって
[over.match.ctor] より全てのコンストラクタがオーバーロードの候補となる
で overload resolution をするには implicit conversion sequence の優劣を比較するのだが
user-defined conversion sequence よりも standard conversion sequence の方が優先度が高い
だから上のプログラムは OK と表示しなければいけない (g++ -std=c++14 -pedantic ではそうなる) が
g++ -std=c++17 -pedantic では Bad と表示される
>>10 も同じバグに起因してると思う
……と bugzilla に報告しようと思ったら 5 年放ったらかしにしてたせいか
アカウント消えてた
どうせ誰か気づくだろうからここに書いてこの問題は俺の中で閉じた