Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
analyze: track reasons why functions are not rewritten (#1072)
This branch replaces most of the existing `fns_failed`/`fns_fixed` machinery with a new strategy for marking items with a "don't rewrite" flag. This makes it easier to integrate new, stricter checks for unsupported code patterns, with the goal of reducing compile errors in the rewritten code. Some of these checks are also implemented in this branch, such as a check for complex (and currently unsupported) `Cell` rewrites. When an item is marked as don't-rewrite, we also record a reason flag. This is helpful for debugging, and will also make it easy in the future to disable specific checks (by ignoring the corresponding reason flag) for debugging/testing purposes or by user request.
- Loading branch information