問題タブ [tagless-final]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票する
1 に答える
486 参照

scala - Intellij IDEA は暗黙のシンボルを解決できません (scala tagless final)

タグなしの最終的なアプローチを使用するコードがいくつかあり、Intellij IDEA が暗黙的なクラスからメソッドを認識できないことがわかりました。

ここにはいくつかの型クラス ( Functor、など) がありApply、. このコードはコンパイルされますが、IDEA が見つからず、. エラーを見てください:Applicativeimplicit class FunctorOpsFunctorvoidimplicit Applicative

シンボル void を解決できません:44

次の型の暗黙の引数はありません: Applicative[F_]:51

コードはそれほど難しくないようです。

私の質問: IDEA でこのエラーを回避する方法はありますか、またはたとえばVS Code with Metalsなどを使用する方がよいですか? tagless final でうまく機能するものはありますか?

私は std lib を使用し、Fドット メソッド構文を使用するために sbt にコンパイラ プラグインを追加します。

addCompilerPlugin("org.augustjune" %% "context-applied" % "0.1.4")

scastie のビルド パラメータを使用したコード

スクリーンショット:

ここに画像の説明を入力

ここに画像の説明を入力

私の環境:

  • Intellij IDEAバージョン2020.2.3 (最後の安定したscala プラグインを使用)

  • OS: macOS カタリナ10.15.7