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 indicies 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: