A CleverError is a special kind of abort code that is used to encode more
information than a normal abort code. These clever errors are used to encode
the line number, error constant name, and error constant value as pool
indices packed into a format satisfying the ErrorBitset format. This
struct is the “inflated” view of that data, providing the module ID, line
number, and error constant name and value (if available).
Fully qualified struct identifier. Uses copy-on-write strings so that when
it is used as a key to a map, an instance can be created to query the map
without having to allocate strings on the heap.
Store which fetches package for the given address from the backend db and
caches it locally in an lru cache. On every call to fetch it checks
backend db and if package version is stale locally, it updates the local
state before returning to the user
The Resolver is responsible for providing information about types. It relies
on its internal package_store to load packages and then type definitions
from those packages.
The ErrorConstants enum is used to represent the different kinds of error
information that can be returned from a clever error when looking at the
constant values for the clever error. These values are either: