問題タブ [scala-compiler]
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.
intellij-idea - IntelliJ IDEA 2017.3.4 & Scala コンパイル サーバー: IDE が独自のローカル サーバーに接続できない
IntelliJ IDEA 2017.3.4をScala
IDEとして使用しています。
Build project automatically
「 」オプションを有効にしてJava 8 JDK
、デフォルトのプロジェクト SDK として設定しました。
Scala compiler server
が実行されており、ポート43558でリッスンしています。このポートを変更することはできません。IntelliJ IDEA によってランダムに影響を受けると思います。
Scala ソース コードを変更するとき、IntelliJ IDEA はScala Compiler Server
、わずかな変更で多くのクラスを再コンパイルすることを避けるために を使用しません。このため、コンパイル時間が非常に長くなります...
注: Linux ホスト 64 ビット (Arch Linux) で実行しています。
を使用するために私が何をする必要があるかについて何か考えがありますScala compiler server
か?
scala - 境界が抽象型メンバーの場合、型の上限を持つ上位の種類の型コンストラクターが機能しない
のサブタイプである引数のみを受け入れる、上限R
とより高い種類の型コンストラクターによってパラメーター化される特性を定義したいと考えています。. _ _ _ _F[_]
R
apply
F[A]
Unit
A <: R
このコードは完全に正常に動作します:
(以下のネーミングについてのコメントを参照してください)
R
ここで、あるモジュールの型メンバーとして宣言してを抽象化し、Fnctr[A <: R]
このモジュール内で次のように定義するとします。
すべてが壊れ、解釈方法がわからない 2 つのエラー メッセージが表示されます。
コンパイラは、 3 つすべての内部ModuleImpl
が同じ型であることを認識すると予想していました。CoCone[Domain, Fnctr]
Domain = AbstractDomain = R
ここで明らかな何かが欠けていますか、scalac
それとも 2.12.4 の制限ですか? それが制限である場合、誰かがそれをどこかで報告したことがありますか?
編集似たようなものが見つかりました: issue #10186。「同じ」ですか?同じではない"?バグの場合、別のテストケースとして提案する必要がありますか? それが完全に私のせいではないこと、および/またはそれが実際にリンクされた問題に密接に関連していることを誰かが確認できれば、それは問題の許容可能な解決策になります.
Edit2 : @Evgeny が指摘したように、別のコンパイラ フェーズ (refchecks
ではなくtyper
) で失敗するため、正確に問題 10186 にすることはできません。
名前についての注意: ここでは、自然な変換と考えることができるCoCone
一般的に定義されたものに類推して、特性と呼んでいます。~>
ある意味では、は のCoCone[Dom, Fctr]
ようなものですFctr ~> Const_Unit
が、 のドメインは のF
サブタイプに制限されていますDom
。実際には、は特定のサブクラスをネットワーク経由で送信できる形式のCoCone[R, F]
ものですが、それは重要ではないため、名前を抽象化しました。これはかなり一般的な数学的構造であり、あまりにも不自然ではありません。それをコンパイルできれば素晴らしいでしょう。F
R