暗黙の型変換の挙動ってどこで制御しているんでしょうか

decimal d = 1
String s = "hoge "
s = s & d
この時のdって暗黙の型変換?がされていると思うのですが、
decimalの実装を見てもどこでこの挙動が制御されているのかわかりません