@@ -21,15 +21,17 @@ object Test extends App {
21
21
}
22
22
23
23
locally {
24
+ // Arrays behave differently from lists since they have overloaded constructors, and weak
25
+ // conformance does apply for selecting one. See Issue #7630.
24
26
def f (): Int = b + 1
25
- val x1 = Array (b, 33 , 5.5 ) ; x1 : Array [Double ] // b is an inline val
26
- val x2 = Array (f(), 33 , 5.5 ) ; x2 : Array [AnyVal ] // f() is not a constant
27
+ val x1 = Array (b, 33 , 5.5 ) ; x1 : Array [Double ]
28
+ val x2 = Array (f(), 33 , 5.5 ) ; x2 : Array [Double ]
27
29
val x3 = Array (5 , 11L ) ; x3 : Array [Long ]
28
- val x4 = Array (5 , 11L , 5.5 ) ; x4 : Array [AnyVal ] // Long and Double found
30
+ val x4 = Array (5 , 11L , 5.5 ) ; x4 : Array [Double ]
29
31
val x5 = Array (1.0f , 2 ) ; x5 : Array [Float ]
30
- val x6 = Array (1.0f , 1234567890 ); x6 : Array [AnyVal ] // loss of precision
31
- val x7 = Array (b, 33 , 'a' ) ; x7 : Array [Char ]
32
- val x8 = Array (5 .toByte, 11 ) ; x8 : Array [Byte ]
32
+ val x6 = Array (1.0f , 1234567890 ); x6 : Array [Float ]
33
+ val x7 = Array (b, 33 , 'a' ) ; x7 : Array [Int ]
34
+ val x8 = Array (5 .toByte, 11 ) ; x8 : Array [Int ]
33
35
34
36
val x9 : Array [AnyVal ] = Array (1.0f , 0 )
35
37
assert(x9(0 ).getClass == classOf [java.lang.Float ])
0 commit comments