Missing type for
sb
in class/object Main
55 }
56
57 println(lang1.indexOf("a"))
58 var sb = new mutable.StringBuilder('a')59}
Missing type for
lang2
in class/object Main
41 }
42
43 var lang1 = "Scala"
44 var lang2 = "scala"45 if (lang1.equals(lang2)) {
46 var substr = lang2.substring(0, lang2.length - 1)
47 }
Missing type for
lang1
in class/object Main
40 println(s"Found elements satisfying our criteria")
41 }
42
43 var lang1 = "Scala"44 var lang2 = "scala"
45 if (lang1.equals(lang2)) {
46 var substr = lang2.substring(0, lang2.length - 1)
Missing type for
filtered
in class/object Main
35}
36
37object Main extends App {
38 var filtered = Utils.filterBy(Range.inclusive(1, 100).toArray, criteria = x => x % 2 == 0)39 if (!filtered.isEmpty) {
40 println(s"Found elements satisfying our criteria")
41 }
Description
The Scala compiler relies on certain implementation details to infer entities' types which are privy to change. Such circumstances can lead to surprising breaking of binary compatibility, thus affecting your overall application's functionality. It is therefore suggested that all the public members of your class contain explicit type annotations.
Bad practice
def foo(i: Int) = {
if (i % 2 == 0) Some(i)
else None
}
Recommended
def foo(i: Int): Option[Int] = {
if (i % 2 == 0) Some(i)
else None
}