[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}

Patrick




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.

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
{
  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

--
Joanna Carter
Carter Consulting

_______________________________________________
swift-evolution mailing list
swift-evolution at swift.org
https://lists.swift.org/mailman/listinfo/swift-evolution





-------------- 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