scala在编译&优化的时候,有时候会返回个inline warning.但是,实际上我们写代码已经不能再优化了.
比如如下这个例子:
[scala]
yu:~ yu$ scala -version
Scala code runner version 2.11.7 -- Copyright 2002-2013, LAMP/EPFL
yu:~ yu$ scala -optimize -Yinline-warnings
Welcome to Scala version 2.11.7 (Java HotSpot(TM) 64-Bit Server VM, Java 1.8.0_05).
Type in expressions to have them evaluated.
Type :help for more information.
scala> object O { Map(
| "a" -> 0, "b" -> 1, "c" -> 2, "d" -> 3, "e" -> 4,
| "a" -> 0, "b" -> 1, "c" -> 2, "d" -> 3, "e" -> 4,
| "a" -> 0, "b" -> 1, "c" -> 2, "d" -> 3, "e" -> 4,
| "f" -> 5, "g" -> 6, "h" -> 7, "i" -> 8) }
warning: At the end of the day, could not inline @inline-marked method ->extension
warning: At the end of the day, could not inline @inline-marked method ->extension
warning: At the end of the day, could not inline @inline-marked method ->extension
warning: At the end of the day, could not inline @inline-marked method ->extension
defined object O
一般情况下,我们会倾向于打开各种warning,以便规范我们的代码.不过,scala有时候有些warning也是蛮扯的.比如这么一段
[scala]
$ scala -Xlint:missing-interpolator
Welcome to Scala version 2.11.7 (Java HotSpot(TM) 64-Bit Server VM, Java 1.8.0_05).
Type in expressions to have them evaluated.
Type :help for more information.
scala> val key="value"; println("key")
<console>:12: warning: possible missing interpolator: detected interpolated identifier `key`
println("$key")
^
$key
key: String = value
[/scala]