Summary:
Since D33037819 (https://github.com/facebook/pyre-check/commit/5480bf686b37e694bc5649f0c37b3d51d512d8b9), we use `Features.BreadcrumbSet.t` at multiple locations in the taint representation. This means it is now ambiguous to use parts of `Features.BreadcrumbSet` (such as `.Self`, `.Element`) from the top level since it can refer to multiple sets (the local breadcrumbs or the propagated ones).
To prevent future bugs, let's disallow using an abstract domain part if it is ambiguous. Note that this can only happen in the product domain, when computing the routing from parts to slots.
Reviewed By: dkgi
Differential Revision: D33488346
fbshipit-source-id: d418f5bb10fdee9648eeea3834c8ca56944bd2ce