[ ] add tracking code to maintain, for each trait, the total set of caller-checked effects and unsafety for that trait (in the current package scope, among all implementations)
[ ] add information to our audit/policy files: in addition to the public functions, we also need the traits (both implemented by and exposed by/declared by that crate). For each trait: whether caller-checked or unsafe, which specific caller-checked effects
[x] In the call graph in scanner, make sure trait methods are added to the call graph
[x] In the call graph in scanner, make sure name resolution for traits points to the abstract trait as added to the call graph.
Possibly for v0, or save for v1:
[x] In the call graph in scanner, add specific trait implementations in addition to the abstract trait method
[x] In a non-generic context when we know the trait that is pointed to, point to the specific trait implementation instead of the abstract trait method.
[x] For dynamic trait objects, just point to the abstract trait method
For v1:
For dynamic trait objects, track which specific possible trait impls it could point to
For traits called in a generic context, track which specific possible trait impls it could point to
New roadmap for traits. Replaces #30
For v0:
Possibly for v0, or save for v1:
For v1: