protocol Box: CustomStringConvertible, CustomDebugStringConvertible {
typealias FloatLiteralType = Double typealias IntegerLiteralType = Int typealias BoxType = Any var value: BoxType { get set } init() init(_ value: BoxType) } extension Box where Self.BoxType == Double { init(_ value: Double) { self.init() self.value = value } init(_ value: Int) { self.init() self.value = Double(value) } init(_ value: UInt32) { self.init() self.value = Double(value) } } Without that last method, Swift tries to give the UInt32 to the Int version of the method which isn't safe in my eyes and I would have expected a compiler error. On Wed, Jan 6, 2016 at 6:14 PM, Félix Cloutier <felix...@yahoo.ca> wrote: > I don't understand. Can you show a code example? > > Félix > > Le 6 janv. 2016 à 13:02:43, James Campbell via swift-evolution < > swift-evolution@swift.org> a écrit : > > I have a overloaded method for a protocol that takes an Int or double. > > I have an issue with swift calling the Int version when passing in a > UInt32 . Ideally I would prefer the compiler to detect I am about to do > something which will cause an overflow and throw an error. > > I would then have to explicitly add a overloaded UInt32 method or > explicitly convert it to Int like so "Int(uintVariable)". > > -- > Wizard > ja...@supmenow.com > +44 7523 279 698 > _______________________________________________ > swift-evolution mailing list > swift-evolution@swift.org > https://lists.swift.org/mailman/listinfo/swift-evolution > > > -- Wizard ja...@supmenow.com +44 7523 279 698
_______________________________________________ swift-evolution mailing list swift-evolution@swift.org https://lists.swift.org/mailman/listinfo/swift-evolution