Jakub, try this...

struct WorkingEngine {
enum States {
case idle
}
}

Then you can call it

WorkingEngine.States.idle
On Mon, Nov 21, 2016 at 9:56 AM Karl Wagner via swift-evolution <
[email protected]> wrote:

> Proposal is being worked on.
> https://github.com/apple/swift-evolution/pull/552
>
> - Karl
>
>
>
>
> On Nov 21, 2016 at 1:33 pm, <Jakub Bednář via swift-evolution
> <[email protected]>> wrote:
>
> 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]>
> [email protected] <[email protected]>
> https 
> <[email protected]>://lists.swift.org/mailman/listinfo/swift-evolution
>
> _______________________________________________
> swift-evolution mailing list
> [email protected]
> https://lists.swift.org/mailman/listinfo/swift-evolution
>
_______________________________________________
swift-evolution mailing list
[email protected]
https://lists.swift.org/mailman/listinfo/swift-evolution

Reply via email to