SYMBOL INDEX (280 symbols across 29 files) FILE: build.rs constant CARGO_TALLY_MEMORY_LIMIT (line 6) | const CARGO_TALLY_MEMORY_LIMIT: &str = "CARGO_TALLY_MEMORY_LIMIT"; function main (line 8) | fn main() { FILE: src/alloc.rs type Allocator (line 7) | struct Allocator { constant LIMIT (line 25) | const LIMIT: Option = include!(concat!(env!("OUT_DIR"), "/limit.mem... constant LIMIT (line 28) | const LIMIT: Option = include!(concat!(env!("OUT_DIR"), "\\limit.me... method alloc (line 34) | unsafe fn alloc(&self, layout: Layout) -> *mut u8 { method dealloc (line 54) | unsafe fn dealloc(&self, ptr: *mut u8, layout: Layout) { method alloc_zeroed (line 61) | unsafe fn alloc_zeroed(&self, layout: Layout) -> *mut u8 { method realloc (line 81) | unsafe fn realloc(&self, ptr: *mut u8, old_layout: Layout, new_size: usi... type AllocStat (line 129) | pub(crate) struct AllocStat { function stat (line 135) | pub(crate) fn stat() -> AllocStat { method fmt (line 144) | fn fmt(&self, formatter: &mut fmt::Formatter) -> fmt::Result { FILE: src/arena.rs type Slice (line 12) | pub struct Slice { constant EMPTY (line 20) | pub const EMPTY: Self = Slice { contents: &[] }; function new (line 22) | pub fn new(slice: &[T]) -> Self function from (line 29) | pub const fn from(contents: &'static [T]) -> Self { function iter (line 33) | pub fn iter(&self) -> impl Iterator function iter_ref (line 40) | pub fn iter_ref(&self) -> impl Iterator { function is_empty (line 44) | pub fn is_empty(&self) -> bool { method clone (line 55) | fn clone(&self) -> Self { function from_iter (line 64) | fn from_iter(iter: I) -> Self type Item (line 93) | type Item = T; type IntoIter (line 94) | type IntoIter = Copied>; method into_iter (line 96) | fn into_iter(self) -> Self::IntoIter { method fmt (line 105) | fn fmt(&self, formatter: &mut fmt::Formatter) -> fmt::Result { FILE: src/args.rs type Opt (line 13) | pub(crate) struct Opt { constant USAGE (line 23) | const USAGE: &str = "\ constant TEMPLATE (line 27) | const TEMPLATE: &str = "\ function app (line 38) | fn app(jobs_help: &String) -> Command { constant DB (line 55) | const DB: &str = "db"; constant EXCLUDE (line 56) | const EXCLUDE: &str = "exclude"; constant JOBS (line 57) | const JOBS: &str = "jobs"; constant RELATIVE (line 58) | const RELATIVE: &str = "relative"; constant TITLE (line 59) | const TITLE: &str = "title"; constant TRANSITIVE (line 60) | const TRANSITIVE: &str = "transitive"; constant QUERIES (line 61) | const QUERIES: &str = "queries"; function parse (line 63) | pub(crate) fn parse() -> Opt { function arg_db (line 123) | fn arg_db() -> Arg { function arg_exclude (line 133) | fn arg_exclude() -> Arg { function arg_jobs (line 143) | fn arg_jobs(help: &String) -> Arg { function arg_relative (line 153) | fn arg_relative() -> Arg { function arg_title (line 160) | fn arg_title() -> Arg { function arg_transitive (line 170) | fn arg_transitive() -> Arg { function arg_queries (line 177) | fn arg_queries() -> Arg { type Error (line 188) | enum Error { function validate_query (line 197) | fn validate_query(string: &str) -> Result { function test_cli (line 228) | fn test_cli() { FILE: src/clean.rs function clean (line 10) | pub(crate) fn clean(db_dump: &mut DbDump, crates: &CrateMap) { FILE: src/collect.rs type Collect (line 8) | pub(crate) trait Collect { method collect_into (line 9) | fn collect_into(&self, result: &Emitter); type ResultCollection (line 12) | pub(crate) struct ResultCollection { type Emitter (line 16) | pub(crate) struct Emitter { function new (line 21) | pub(crate) fn new() -> Self { function emitter (line 26) | pub(crate) fn emitter(&self) -> Emitter { function sort (line 36) | pub(crate) fn sort(&self) { function collect_into (line 55) | fn collect_into(&self, result: &Emitter<(D, G::Timestamp, R)>) { type Item (line 66) | type Item = T; type IntoIter (line 67) | type IntoIter = as IntoIterator>::IntoIter; method into_iter (line 69) | fn into_iter(self) -> Self::IntoIter { FILE: src/cratemap.rs type CrateMap (line 9) | pub struct CrateMap { method new (line 17) | pub fn new() -> Self { method insert (line 21) | pub fn insert(&mut self, id: CrateId, name: String) { method name (line 28) | pub fn name(&self, id: CrateId) -> Option<&str> { method id (line 32) | pub fn id(&self, name: &str) -> Option { FILE: src/cratename.rs constant MAX_NAME_LENGTH (line 5) | pub const MAX_NAME_LENGTH: usize = 64; function valid (line 8) | pub fn valid(name: &str) -> bool { function valid_ident (line 13) | fn valid_ident(name: &str) -> bool { function valid_feature_prefix (line 17) | fn valid_feature_prefix(name: &str) -> bool { type CrateName (line 24) | pub(crate) struct CrateName(String); method new (line 27) | pub(crate) fn new(string: String) -> Self { method borrow (line 57) | fn borrow(&self) -> &CrateNameQuery { method cmp (line 33) | fn cmp(&self, rhs: &Self) -> Ordering { method partial_cmp (line 39) | fn partial_cmp(&self, rhs: &Self) -> Option { method eq (line 47) | fn eq(&self, rhs: &Self) -> bool { type CrateNameQuery (line 54) | pub(crate) struct CrateNameQuery(str); method cmp (line 63) | fn cmp(&self, rhs: &Self) -> Ordering { method partial_cmp (line 72) | fn partial_cmp(&self, rhs: &Self) -> Option { method eq (line 80) | fn eq(&self, rhs: &Self) -> bool { type SeparatorAgnosticByte (line 88) | struct SeparatorAgnosticByte(u8); method cmp (line 91) | fn cmp(&self, rhs: &Self) -> Ordering { method partial_cmp (line 99) | fn partial_cmp(&self, rhs: &Self) -> Option { method eq (line 107) | fn eq(&self, rhs: &Self) -> bool { FILE: src/dependency.rs type DependencyKind (line 2) | pub enum DependencyKind { method from (line 9) | fn from(dependency_kind: db_dump::dependencies::DependencyKind) -> Self { FILE: src/feature.rs type FeatureId (line 7) | pub struct FeatureId(pub u32); constant CRATE (line 10) | pub const CRATE: Self = FeatureId(0); constant DEFAULT (line 11) | pub const DEFAULT: Self = FeatureId(1); constant TBD (line 12) | pub const TBD: Self = FeatureId(!0); type FeatureEnables (line 16) | pub struct FeatureEnables { type CrateFeature (line 23) | pub struct CrateFeature { type VersionFeature (line 29) | pub struct VersionFeature { type DefaultFeatures (line 35) | pub struct DefaultFeatures(pub bool); type FeatureNames (line 37) | pub struct FeatureNames { method new (line 43) | pub fn new() -> Self { method id (line 53) | pub fn id(&mut self, name: &str) -> FeatureId { method name (line 64) | pub fn name(&self, id: FeatureId) -> &str { method default (line 70) | fn default() -> Self { type FeatureIter (line 75) | pub struct FeatureIter { method new (line 82) | pub fn new(default_features: DefaultFeatures, features: Slice Option { FILE: src/filter.rs function filter (line 5) | pub(crate) fn filter(db_dump: &mut DbDump, crates: &CrateMap, exclude: &... FILE: src/hint.rs type TypeHint (line 6) | pub(crate) trait TypeHint: Sized { method T (line 9) | fn T(self) -> Self method KV (line 16) | fn KV(self) -> Self type Element (line 29) | type Element = D; type Element (line 37) | type Element = D; FILE: src/id.rs type QueryId (line 3) | pub struct QueryId(pub u8); type CrateId (line 7) | pub struct CrateId(pub u32); method from (line 18) | fn from(id: db_dump::crates::CrateId) -> Self { type VersionId (line 11) | pub struct VersionId(pub u32); method from (line 24) | fn from(id: db_dump::versions::VersionId) -> Self { type DependencyId (line 15) | pub struct DependencyId(pub u32); method from (line 30) | fn from(id: u32) -> Self { FILE: src/impls.rs method cmp (line 5) | fn cmp(&self, other: &Self) -> Ordering { method partial_cmp (line 11) | fn partial_cmp(&self, other: &Self) -> Option { method eq (line 19) | fn eq(&self, other: &Self) -> bool { method cmp (line 25) | fn cmp(&self, other: &Self) -> Ordering { method partial_cmp (line 31) | fn partial_cmp(&self, other: &Self) -> Option { method eq (line 39) | fn eq(&self, other: &Self) -> bool { method cmp (line 45) | fn cmp(&self, other: &Self) -> Ordering { method partial_cmp (line 51) | fn partial_cmp(&self, other: &Self) -> Option { method eq (line 59) | fn eq(&self, other: &Self) -> bool { FILE: src/lib.rs type DbDump (line 79) | pub struct DbDump { type Release (line 86) | pub struct Release { type Dependency (line 95) | pub struct Dependency { type Query (line 107) | pub struct Query { type Predicate (line 113) | pub struct Predicate { type Input (line 119) | struct Input { function run (line 124) | pub fn run(db_dump: DbDump, jobs: usize, transitive: bool, queries: &[Qu... function set_timely_worker_log (line 201) | fn set_timely_worker_log(worker: &Worker) { function dataflow (line 221) | fn dataflow( FILE: src/load.rs function load (line 19) | pub(crate) fn load(path: impl AsRef) -> Result<(DbDump, CrateMap)> { FILE: src/log.rs type Log (line 5) | pub trait Log { method trace (line 6) | fn trace(&mut self) -> LogStream; method warning (line 7) | fn warning(&mut self) -> LogStream; method error (line 8) | fn error(&mut self) -> LogStream; method red (line 9) | fn red(&mut self) -> LogStream; method trace (line 13) | fn trace(&mut self) -> LogStream { method warning (line 20) | fn warning(&mut self) -> LogStream { method error (line 27) | fn error(&mut self) -> LogStream { method red (line 37) | fn red(&mut self) -> LogStream { type LogStream (line 45) | pub struct LogStream<'a>(&'a mut StandardStream); function write_fmt (line 48) | pub fn write_fmt(&mut self, args: fmt::Arguments) { method drop (line 54) | fn drop(&mut self) { FILE: src/main.rs function main (line 57) | fn main() { function try_main (line 65) | fn try_main(stderr: &mut StandardStream) -> Result<()> { FILE: src/matrix.rs type Matrix (line 8) | pub struct Matrix { method new (line 18) | pub(crate) fn new(queries: usize) -> Self { method width (line 25) | pub fn width(&self) -> usize { method is_empty (line 29) | pub fn is_empty(&self) -> bool { method len (line 33) | pub fn len(&self) -> usize { method iter (line 37) | pub fn iter(&self) -> Iter { method push (line 41) | pub(crate) fn push(&mut self, timestamp: DateTime, data: Vec) { type Row (line 15) | pub struct Row([u32]); type Output (line 76) | type Output = u32; method index (line 78) | fn index(&self, i: usize) -> &Self::Output { type Item (line 47) | type Item = (DateTime, &'a Row); type IntoIter (line 48) | type IntoIter = Iter<'a>; method into_iter (line 50) | fn into_iter(self) -> Self::IntoIter { type Iter (line 55) | pub struct Iter<'a>(slice::Iter<'a, (DateTime, Vec)>); type Item (line 58) | type Item = (DateTime, &'a Row); method next (line 60) | fn next(&mut self) -> Option { method next_back (line 68) | fn next_back(&mut self) -> Option { type Item (line 84) | type Item = u32; type IntoIter (line 85) | type IntoIter = Copied>; method into_iter (line 87) | fn into_iter(self) -> Self::IntoIter { type Target (line 93) | type Target = [u32]; method deref (line 95) | fn deref(&self) -> &Self::Target { type RelativeRow (line 100) | pub struct RelativeRow<'a> { type Output (line 106) | type Output = RelativeRow<'a>; function div (line 108) | fn div(self, rhs: u32) -> Self::Output { method fmt (line 117) | fn fmt(&self, formatter: &mut fmt::Formatter) -> fmt::Result { method fmt (line 123) | fn fmt(&self, formatter: &mut fmt::Formatter) -> fmt::Result { FILE: src/max.rs type MaxByKey (line 14) | pub(crate) trait MaxByKey method max_by_key (line 18) | fn max_by_key(&self) -> Collection; function max_by_key (line 30) | fn max_by_key(&self) -> Collection { type Max (line 40) | pub(crate) struct Max { type Output (line 45) | type Output = Self; function multiply (line 47) | fn multiply(self, rhs: &Present) -> Self::Output { method plus_equals (line 57) | fn plus_equals(&mut self, rhs: &Self) { method is_zero (line 63) | fn is_zero(&self) -> bool { FILE: src/mend.rs function mend_crates (line 12) | pub(crate) fn mend_crates(crates: &mut CrateMap) { function mend_releases (line 36) | pub(crate) fn mend_releases(db_dump: &mut DbDump, crates: &CrateMap) { FILE: src/present.rs type Present (line 4) | pub(crate) struct Present; type Output (line 17) | type Output = Present; method multiply (line 19) | fn multiply(self, rhs: &Present) -> Self::Output { type Output (line 35) | type Output = isize; method multiply (line 37) | fn multiply(self, rhs: &isize) -> Self::Output { method plus_equals (line 7) | fn plus_equals(&mut self, rhs: &Present) { method is_zero (line 11) | fn is_zero(&self) -> bool { type Output (line 26) | type Output = isize; function multiply (line 28) | fn multiply(self, rhs: &Present) -> Self::Output { FILE: src/query.rs function parse (line 13) | pub fn parse<'a>( function parse_predicates (line 30) | fn parse_predicates(string: &str, crates: &CrateMap) -> Result String { type DisplayQuery (line 65) | struct DisplayQuery<'a> { method fmt (line 71) | fn fmt(&self, formatter: &mut fmt::Formatter) -> fmt::Result { type RawPredicate (line 96) | enum RawPredicate<'a> { type IterPredicates (line 101) | struct IterPredicates<'a> { function new (line 107) | fn new(query: &'a str, crates: &'a CrateMap) -> Self { type Item (line 116) | type Item = Result>; method next (line 118) | fn next(&mut self) -> Option { FILE: src/render.rs function graph (line 11) | pub(crate) fn graph( type Row (line 85) | struct Row<'a>(DateTime, u32, Option<&'a Total>); method fmt (line 88) | fn fmt(&self, formatter: &mut fmt::Formatter) -> fmt::Result { function write_truncated (line 115) | fn write_truncated(formatter: &mut fmt::Formatter, fraction: f32) -> fmt... FILE: src/timestamp.rs type DateTime (line 10) | pub struct DateTime(chrono::DateTime); method new (line 17) | pub fn new(date: NaiveDate, time: NaiveTime) -> Self { method now (line 21) | pub fn now() -> Self { method seconds (line 25) | pub fn seconds(&self) -> i64 { method millis (line 29) | pub fn millis(&self) -> i64 { method subsec_nanos (line 33) | pub fn subsec_nanos(&self) -> u32 { method from_timestamp (line 37) | pub fn from_timestamp(secs: i64, nanos: u32) -> Self { method from (line 43) | fn from(date_time: chrono::DateTime) -> Self { method to_inner (line 89) | fn to_inner(_other: ()) -> Self { method to_outer (line 94) | fn to_outer(self) -> () {} method summarize (line 97) | fn summarize(_path: ::Summary) -> () {} type Duration (line 14) | pub struct Duration(chrono::Duration); method results_in (line 79) | fn results_in(&self, src: &DateTime) -> Option { method followed_by (line 83) | fn followed_by(&self, other: &Self) -> Option { type Summary (line 49) | type Summary = Duration; method minimum (line 51) | fn minimum() -> Self { method join (line 57) | fn join(&self, other: &Self) -> Self { method meet (line 61) | fn meet(&self, other: &Self) -> Self { method less_than (line 67) | fn less_than(&self, other: &Self) -> bool { method less_equal (line 71) | fn less_equal(&self, other: &Self) -> bool { method less_than (line 101) | fn less_than(&self, other: &Self) -> bool { method less_equal (line 105) | fn less_equal(&self, other: &Self) -> bool { method default (line 111) | fn default() -> Self { method fmt (line 117) | fn fmt(&self, formatter: &mut fmt::Formatter) -> fmt::Result { method fmt (line 123) | fn fmt(&self, formatter: &mut fmt::Formatter) -> fmt::Result { method default (line 129) | fn default() -> Self { method fmt (line 135) | fn fmt(&self, formatter: &mut fmt::Formatter) -> fmt::Result { FILE: src/total.rs type Total (line 5) | pub(crate) struct Total { method index (line 10) | pub(crate) fn index(releases: &[Release]) -> Self { method eval (line 21) | pub(crate) fn eval(&self, time: DateTime) -> u32 { FILE: src/trace.rs constant VERBOSE (line 1) | pub(crate) const VERBOSE: bool = false; FILE: src/user.rs function valid (line 6) | pub(crate) fn valid(name: &str) -> bool { type User (line 19) | pub(crate) struct User(String); method new (line 22) | pub(crate) fn new(string: String) -> Self { method borrow (line 64) | fn borrow(&self) -> &UserQuery { method cmp (line 28) | fn cmp(&self, rhs: &Self) -> Ordering { method partial_cmp (line 34) | fn partial_cmp(&self, rhs: &Self) -> Option { method eq (line 42) | fn eq(&self, rhs: &Self) -> bool { method fmt (line 48) | fn fmt(&self, formatter: &mut fmt::Formatter) -> fmt::Result { type UserQuery (line 55) | pub(crate) struct UserQuery(str); method is_team (line 58) | pub(crate) fn is_team(&self) -> bool { method cmp (line 70) | fn cmp(&self, rhs: &Self) -> Ordering { method partial_cmp (line 79) | fn partial_cmp(&self, rhs: &Self) -> Option { method eq (line 87) | fn eq(&self, rhs: &Self) -> bool { method fmt (line 96) | fn fmt(&self, formatter: &mut fmt::Formatter) -> fmt::Result { type CaseAgnosticByte (line 101) | struct CaseAgnosticByte(u8); method cmp (line 104) | fn cmp(&self, rhs: &Self) -> Ordering { method partial_cmp (line 110) | fn partial_cmp(&self, rhs: &Self) -> Option { method eq (line 118) | fn eq(&self, rhs: &Self) -> bool { FILE: src/version.rs type Version (line 9) | pub struct Version(pub semver::Version); method new (line 12) | pub const fn new(major: u64, minor: u64, patch: u64) -> Self { type VersionReq (line 18) | pub struct VersionReq { method matches (line 23) | pub fn matches(&self, version: &Version) -> bool { method from (line 93) | fn from(req: semver::VersionReq) -> Self { type Target (line 29) | type Target = semver::Version; method deref (line 31) | fn deref(&self) -> &Self::Target { method deref_mut (line 37) | fn deref_mut(&mut self) -> &mut Self::Target { method fmt (line 43) | fn fmt(&self, formatter: &mut fmt::Formatter) -> fmt::Result { method fmt (line 49) | fn fmt(&self, formatter: &mut fmt::Formatter) -> fmt::Result { method cmp (line 55) | fn cmp(&self, other: &Self) -> Ordering { method partial_cmp (line 87) | fn partial_cmp(&self, other: &Self) -> Option { type Err (line 100) | type Err = semver::Error; method from_str (line 102) | fn from_str(string: &str) -> Result { method fmt (line 108) | fn fmt(&self, formatter: &mut fmt::Formatter) -> fmt::Result { method fmt (line 123) | fn fmt(&self, formatter: &mut fmt::Formatter) -> fmt::Result { function matches_req (line 128) | fn matches_req(comparators: Slice, ver: &Version) -> bool { function matches_impl (line 151) | fn matches_impl(cmp: &Comparator, ver: &Version) -> bool { function matches_exact (line 164) | fn matches_exact(cmp: &Comparator, ver: &Version) -> bool { function matches_greater (line 184) | fn matches_greater(cmp: &Comparator, ver: &Version) -> bool { function matches_less (line 210) | fn matches_less(cmp: &Comparator, ver: &Version) -> bool { function matches_tilde (line 236) | fn matches_tilde(cmp: &Comparator, ver: &Version) -> bool { function matches_caret (line 256) | fn matches_caret(cmp: &Comparator, ver: &Version) -> bool { function pre_is_compatible (line 292) | fn pre_is_compatible(cmp: &Comparator, ver: &Version) -> bool {