Initializing an array from sequence or by repeating an element is not implemented

Right. same applies there. (Ranges will get Sequence support, I just gotta implement it).

The following piece of code results in “Ambiguous method call”:

let array = [UInt16]([8, 0])

The potential overloads listed for constructor are:

func Swift.Array<UInt16!>..(_ list: NSArray<UInt16>)
func Swift.Array<UInt16!>..(_ sequence: RemObjects.Elements.System.INSFastEnumeration<UInt16>)

Is this related to the issues above, or is it completely separate?

I also tried the following:

let x1 = [UInt16](array: [8, 0])  // Results in: Parameter should be labeled "copy"
let x2 = [UInt16](sequence: [8, 0])  // This works

probably, yeah. is this still Cocoa, though? then the (_ sequence overload should *not be valid for arrays, strange. I’ll bring this top for internal discussion what we can do here…

Yes, still Cocoa

bugs://81651 got closed with status nochangereq.

I’ll resurrect this old issue, since this bit me again. This time the target platform is WebAssembly, but IIRC, the same thing happened in macOS. In Swift, assigning an ArraySlice object to an Array is not allowed, whereas in Silver, casting to Array results in error “Cannot instantiate abstract class”. This means that making code that contains simple array manipulations compile in both can be a bit of an exercise:

let full1: [UInt8] = [0, 1, 2, 3] // Swift: ok, Silver: ok
let full2 = [UInt8]([0, 1, 2, 3]) // Swift: ok, Silver: Ambiguous method call
let full3: [UInt8] = Array([0, 1, 2, 3]) // Swift: ok, Silver: Cannot instantiate abstract class
let half1 = full1[0...1] // Swift: Cannot convert value of type 'ArraySlice<UInt8>' to expected argument type '[UInt8]', Silver: ok
let half2 = [UInt8](full1[0...1]) // Swift: ok, Silver: ok
let half3 = Array(full1[0...1]) // Swift: ok, Silver: Cannot instantiate abstract class