The “==“ operation can only compare concrete instances of the enum.
With “type == ACType.other” the right side is not an instance. as the 
associated value is missing.

Regards,
Rien

Site: http://balancingrock.nl
Blog: http://swiftrien.blogspot.com
Github: http://github.com/Swiftrien
Project: http://swiftfire.nl




> On 21 Jan 2017, at 13:56, tridiak via swift-users <swift-users@swift.org> 
> wrote:
> 
> Been searching and trying to figure out a comparison problem.
> 
> func ==(lhs : ACType, rhs : ACType) -> Bool {
>       switch (lhs,rhs) {
>               case (.other, .other):
>                       return true
>               case (.other, _):
>                       return false
>               case (_, .other):
>                       return false
>               default:
>                       return lhs == rhs
>               }
>       }
> 
> enum ACType {
>       case noType
>       case natural
>       case armour
>       case shield
>       case deflection
>       case dodge
>       case sacred
>       case luck
>       case other(String)
> 
>       static func Stacks(type : ACType) -> Bool {
>               return type == ACType.noType || type == ACType.dodge || type == 
> ACType.other
>       }
> }
> 
> I get an error concerning ‘type == ACType.other’.
> Compiler blab: Binary operator '==' cannot be applied to operands of type 
> 'ACType' and '(String) -> ACType'
> 
> How do I fix this? Simply cannot see it.
> 
> TIA Mark
> _______________________________________________
> swift-users mailing list
> swift-users@swift.org
> https://lists.swift.org/mailman/listinfo/swift-users

_______________________________________________
swift-users mailing list
swift-users@swift.org
https://lists.swift.org/mailman/listinfo/swift-users

Reply via email to