This fix prevented waiting for child components even if the cycle was only introduced via the `directives` array, i.e. without actually having a cycle. This easily causes issues for applications that have one shared list of directives for all components.
This reverts commit 3d5bb2318454ba428b816f6aee6e6aaf427d70a7.
Closes#9647
Fix how the compiler checks for recursive components by also considering
component descendants. Previously, it only checked if the current
component was evaluated previously. This failed in certain cases of
mutually recursive components, causing `createAsync` in tests to not
resolve.
closes [7084](https://github.com/angular/angular/issues/7084)