Right now for #542 we are just creating index to find lambdas, blocks, etc.
#543 . But we are not tracking parameter and variable usage in the lambdas as the TryCollectInfo methods do to prepare for closure creation. Can ee do that during FE construction? What other checks from TCI we can do to make FE correct by construction and wire labels, ability to inline lambda invocations, etc? E.g. can we safely inline lambda during construction if Invoke will have this as a opt-out config parameter?
Thought for future, can we tree-shake/simplify expression while constructing given the user asked via config parameter?
Can we identify and drop duplicate declarations replacing them with indexes?
Right now for #542 we are just creating index to find lambdas, blocks, etc.
#543 . But we are not tracking parameter and variable usage in the lambdas as the TryCollectInfo methods do to prepare for closure creation. Can ee do that during FE construction? What other checks from TCI we can do to make FE correct by construction and wire labels, ability to inline lambda invocations, etc? E.g. can we safely inline lambda during construction if Invoke will have this as a opt-out config parameter?
Thought for future, can we tree-shake/simplify expression while constructing given the user asked via config parameter?
Can we identify and drop duplicate declarations replacing them with indexes?