Scala &引用;应启用更高种类的类型”;警告

Scala &引用;应启用更高种类的类型”;警告,scala,Scala,在以下代码中(从): 我看到以下警告: [warn] C:\...\Monad.scala:3: higher-kinded type should be enabled [warn] by making the implicit value scala.language.higherKinds visible. [warn] This can be achieved by adding the import clause 'import scala.language.higherKinds'

在以下代码中(从):

我看到以下警告:

[warn] C:\...\Monad.scala:3: higher-kinded type should be enabled
[warn] by making the implicit value scala.language.higherKinds visible.
[warn] This can be achieved by adding the import clause 'import scala.language.higherKinds'
[warn] or by setting the compiler option -language:higherKinds.
[warn] See the Scala docs for value scala.language.higherKinds for a discussion
[warn] why the feature should be explicitly enabled.
[warn] trait Functor[F[_]] {
[warn]               ^
[warn] C:\...\Monad.scala:7: higher-kinded type should be enabled
[warn] by making the implicit value scala.language.higherKinds visible.
[warn] trait Monad[F[_]] {
这是怎么回事?请注意,我读了这篇文章,但不理解它。

有关详细信息,请参阅文档

只有在启用此标志的情况下,才能写入更高种类的类型

这些设计模式所隐含的抽象级别通常是 Scala代码库的新手理解的障碍

出于某种原因,没有人开玩笑说:

Scala中更高级的类型导致图灵完整类型系统, 不再保证编译器终止

…虽然它通常会因崩溃而提前终止


这只是一个玩笑。

如果您希望抑制此警告,只需在导入部分添加:

import scala.language.higherKinds

看,谢谢,@som snytt。
编译器终止不再是一个笑话吗?
有趣的是:已知该语言(及其部分)具有图灵完备(因此定义上可能是最强大的)类型,Scala随后提供了同等强大的(但可能没有那么简洁的表现力)系统键入system?doc导致死链接。@javadba内联链接忽略尾随美元,已修复。
import scala.language.higherKinds