The base crate contains pervasive types used in the compiler such as type representations, the AST and some basic containers.
Module containing the types which make up
Module containing a few common error wrappers which allows more information to be saved for later display to the user
Collection types which allows insertion of new values while shared references to its contents are alive. This is done by storing each value in a stable memory location and preventing an earlier inserted value to be overwritten.
Source code locations (borrowed from rustc's libsyntax_pos)
A map data type which allows the same key to exist at multiple scope levels
Module containing types and functions for mapping between byte indexes and line and column locations
Module which contains types working with symbols