「インランス」と「重複したシンボル」は異なるものです。 inline
キーワードでは、複数の定義を明示的に許可します(つまり、1つの定義ルールから免除されます)ため、プラットフォーム(コンパイラとリンカー)は、それを処理し、強化する方法を知っている必要があります。
(これは、ヘッダーで定義されているクラスメンバー関数に対して常に発生します。)
あなたがただ欲しいなら コード生成 起こるために、あなたはどこかに関数のアドレスを保存することができます:
auto fp = my_inline;
そうすれば、コンパイラがアドレスを与えることができるように、関数の定義を生成する必要があります。ただし、すべての翻訳ユニットでこれを行う場合でも、リンカーエラーは表示されません。これはリンク時に重複するためです。すべての定義が同一であるという要件により、これが明確に定義されていることを確認します。