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

Patrick Smith pgwsmith at gmail.com
Wed Apr 20 18:07:01 CDT 2016

If I needed functionality like this, I would create an enum with a case and associated value for every type I needed.
enum AnyValue : Equatable {  case int(Int)  case string(String)  // etc}


On Sun, Apr 17, 2016 at 7:13 AM -0700, "Joanna Carter via swift-evolution" <swift-evolution at swift.org> wrote:

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.


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
  var value: T?

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

let structType = MyStruct.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 Carter
Carter Consulting

swift-evolution mailing list
swift-evolution at swift.org

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://lists.swift.org/pipermail/swift-evolution/attachments/20160420/56964821/attachment.html>

More information about the swift-evolution mailing list