@@ -21,15 +21,17 @@ object Test extends App {
2121 }
2222
2323 locally {
24+ // Arrays behave differently from lists since they have overloaded constructors, and weak
25+ // conformance does apply for selecting one. See Issue #7630.
2426 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 ]
2729 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 ]
2931 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 ]
3335
3436 val x9 : Array [AnyVal ] = Array (1.0f , 0 )
3537 assert(x9(0 ).getClass == classOf [java.lang.Float ])
0 commit comments