[swift-evolution] [Pitch] Extend Any.Type to allow construction of bound generic types

Joanna Carter joanna at carterconsulting.org.uk
Sun Apr 17 09:13:17 CDT 2016


I often find myself needing to construct an instance of a bound generic type at runtime, in much the same manner as I would a "standard" type.

e.g.

As for a standard type…

let aType = Int.Type

let anInt = aType.init(0)

I also want to be able to use the same mechanism for a generic type…

struct MyStruct<T: Equatable /*, etc */>
{
  var value: T?
}

let paramType = // type from streaming or reflection compliant with Equatable

let structType = MyStruct<paramType>.self

let f = structType.init()


At present, the following compiler error is raised…

'paramType' is not a type

I am  the only one to require this behaviour? If not, do we want a proposal? If so, could you let me know your views on its worthiness?

Joanna

--
Joanna Carter
Carter Consulting



More information about the swift-evolution mailing list