I'm learning Rust, and still very much trying to get my head around it. Consider the following Go definition:
type FnType func(paramType) FnType
It's just a function that returns a function of the same type. Can something similar be implemented in Rust? And, ideally, can it be done generically, so that paramType
is specified by the client?
I did some digging in the docs and took to the playground and I think I've been able to answer this myself, although it does require an intermediary type: an
enum
, to be specific.You can verify that it runs on the playground.
Cyclic types are unsupported in Rust:
Yields the following error:
See on playground