P0060R0: Function Object-Based Overloading of Operator Dot operator .をオーバーロード可能にする提案。 この提案は、リファレンスを返す提案とは異なり、コンパイラーが関数オブジェクトを生成する提案となっている。 operator .をオーバーロードしてるユーザー定義型がある。 struct X { // なにもしない template < typename T > void operator .( T && ) { } } そのような型の非staticデータメンバーの名前検索(たとえば.some_name)をして、名前が見つからない場合、コンパイラーは以下のような型を生成し、そのオブジェクトをoperator .のオーバーロード関数の実引数に渡す struct synthesized_function_type { temp