在 GitHub 上编辑此页面

软关键字

软修饰符是标识符 infixinlineopaqueopentransparent 之一。

软关键字是软修饰符,或 asderivesendextensionthrowsusing|+-* 之一。

如果软修饰符后面跟着硬修饰符或以定义开头的关键字组合(defvalvartypegivenclasstraitobjectenumcase classcase object),则它将被视为定义的潜在修饰符。两个词之间可能有一系列换行符和软修饰符。

否则,软关键字在以下情况下将被特殊处理

  • inline,如果它后面跟着任何可以开始表达式的标记。
  • derives,如果它出现在扩展子句之后,或者出现在类、特质、对象或枚举定义的名称和可能的参数之后。
  • end,如果它出现在语句(即定义或顶层表达式)之后的行的开头。
  • extension,如果它出现在语句的开头,并且后面跟着 ([
  • using,如果它出现在参数或参数列表的开头。
  • as,在重命名导入子句中。
  • |,如果它在备选方案中分隔两个模式。
  • +-,如果它们出现在类型参数的前面。
  • *,在通配符导入中,或者它跟随参数的类型,或者如果它出现在可变参数拼接 x* 中。

在其他所有地方,软关键字被视为普通标识符。