あなたのgrepは正しく書かれていません:
grep -R -> .
それは何をしているのですか?このようなもの:
grep -R - > .
これで、もう少し明確になるかもしれません: "-" (標準入力の可能性があります。grep についてはわかりませんが、多くのツールが標準入力を意味するために使用します) を調べます。そして、結果を "." に書き込みます。ただし、それはディレクトリ (具体的には現在のディレクトリ) です。だから失敗する。
-> 演算子を検索する場合は、次のように使用できます。
grep -R -- "->" .
「--」は、「この後オプションの処理を停止する」ことを意味するかなり標準的な Unix のものであり、「->」を引用符で囲むと、シェルがそれを 2 つのトークン (stdin とリダイレクト) として解釈するのを停止する必要があります。
いずれにせよ、演算子 -> のソース コードが見つからないため、これはまったく重要ではありません。これは言語で定義されており、それを実装するソース コードは完全にコンパイラ内にあります。したがって、本当に必要な場合は、コンパイラのソースをダウンロードしてそこに grep します...それでも、「->」を grep してもすぐに見つからない場合があります。