Passing [NSObject] to a function expecting [Any] causes a run-time exception rather than compile time error

Number:rdar://25799364 Date Originated:2016-04-19
Status:Open Resolved:
Product:Developer Tool Product Version:Xcode 7.3 (7D175)
Classification:Important Reproducible:Always
Enter the following code into a playground and observe the runtime exception:
func process(anArray : [Any]) {


let a = [1,2,[3],[4,[5,6]],[[7]], 8]

the type inferred for 'a' is [NSObject] which results in: "fatal error: array cannot be bridged from Objective-C"

Steps to Reproduce:
1. Xcode 7.3
2. Open a playground
3. Enter the code in the description
4. Reveal the "debug area"
5. Observe the runtime exception.

Expected Results:
The compiler should generate a compile type error for incompatible types i.e. '[NSObject]' cannot be passed to a function expecting '[Any]'

Actual Results:
Runtime exception - "fatal error: array cannot be bridged from Objective-C"

Xcode 7.3 (7D175), OS X 10.11.4 (15E65)


Please note: Reports posted here will not necessarily be seen by Apple. All problems should be submitted at before they are posted here. Please only post information for Radars that you have filed yourself, and please do not include Apple confidential information in your posts. Thank you!