

# 環境

  * Scala 2.12.5
  * IntelliJ IDEA 2018.1 (Community Edition)
  * JRE: 1.8.0_152-release-1136-b20 amd64
  * JVM: OpenJDK 64-Bit Server VM by JetBrains s.r.o
  * Windows 10

# 起こったこと

for式のジェネレータ部分に、リテラル識別子を使いました。

[code]

    def sampleOpt(i: Int): Option[Int] = Some(i)
    
    val a = for (
      `type` <- sampleOpt(10)
    ) yield `type` * 2
    println("a=" + a) //⇒ a=Sample(20)
    
[/code]

  * IntelliJ IDEAのエディタウィンドウでは、"Cannot resolve symbol `type"というエラーが表示されました。  
[![画像の説明をここに入力](https://i.stack.imgur.com/m3i5G.png)](https://i.stack.imgur.com/m3i5G.png)

  * ビルド＆実行はできました。

# 質問

上記の現象は、何が起こっているのでしょうか？

  * IntelliJの構文チェックツールのバグでしょうか？
  * Scalaの構文ルールに違反しているのでしょうか？


CC BY-SA 4.0
2018-05-23T14:41:05.247
44194
2018-05-23T14:41:05.247
19524
question
scala
for式のジェネレータ部分にリテラル識別子を使うと、IntelliJの構文チェックツールではエラーだが、実行できる