The things we are not handling with the macro
Opened this issue · 0 comments
Keep in mind that: This library does not aim to be a production-ready tool for developers. It is for fun and educational purposes, its goal is to demystify the concept of functions, that we can interrupt, and continue when we like.
So, some concepts are not handled by our macro at the moment, and might never be supported. I am not aiming to provide complete functionality. If the below are within the function that will be turned into freezable
, the macro will probably won't work
-
statements:
- if let
- while let
-
definition/declarations of:
- structs
- enums
- unions
- other macros
- anonymous functions
- and probably the other things listed in here: https://docs.rs/syn/latest/syn/enum.Item.html
P.S. you can define structs
, enums
, etc. outside of the functions as you would normally do, there is no issue with that.
Since we are parsing the function in the macro, and trying to store the intermediate values in the generated state machine, we are not able to process the definitions of structs
, enums
, etc. if they are defined/declared IN THE FUNCTION BODY.