I have an aggregating processor that generates code from other annotated generated code. In the initial round, there won't be any generated annotated elements to read from, so I defer the aggregated symbol. In subsequent rounds, I get the generated values.
One thing that occurred to me in this is that there's a risk that I may infinite loop if I keep deferring, but KSP guards this by just finishing if a round didn't generate anything. Wanted to confirm that's the case!
Similarly - curious if there's a better pattern for a case like this where we want to aggregate
all generated types with a given annotation, and not just partial slices each round. i.e. worried about generating multiple times when I only want to generate once with all aggregated types at the end.
Example of what I'm doing:
https://github.com/slackhq/circuit/pull/1197