一理あるけど、実際のところ Result 型の値がバインドされず破棄されるとき警告なりエラーを出すのが lint であるというのは単にそのように実装されているだけで、「core::result::Result 型がバインドされない場合これをエラーとする」という言語仕様になっていたって構わないわけですよね。
そう考えると、「暗黙の破棄を型システムで検査できない」は真ではあるけど、「暗黙の破棄を lint で警告するしかないから問題である」というのは本質ではない気がします
言語仕様レベルで core の型を特殊に扱うのがどうなんだという話については、 Box で十分すぎるほど特殊に扱っているし、 for 文における core::iter::Iterator 実装の要求もあったりで、まあ特段問題はないと思う
「Result について unused_must_use lint (あるいはそれに相当する lint) は deny by default であるべきだ」という主張であれば私も同意ですね (まあ既存コード壊れるので、入れるとしたら次の Edition を待たねばならないだろうけど)