Hi fellow Swifters,

I have just started using the language and was trying to declare an enum inside 
a protocol.

protocol WorkingEngine {
   enum States {
        Idle
        Pending
        Working
        Finished
        Canceled 
  }

  var state: States { get }
}

The compiler refused this and I had to take the enum outside of the protocol:

enum WorkingEngineStates {
        Idle
        Pending
        Working
        Finished
        Canceled 
  }

protocol WorkingEngine {
  var state: WorkingEngineStates { get }
}

This does not seem coherent with the rest of the language, as enums can be 
nested in classes, structs and even enums, but not to protocols. 
I haven’t found any proposal for this change. Is this the correct place to 
request it or get some opinion on the idea?

Thanks a lot,

Jakub

_______________________________________________
swift-evolution mailing list
[email protected]
https://lists.swift.org/mailman/listinfo/swift-evolution

Reply via email to