# Providers * [CrateInfo](#CrateInfo) * [DepInfo](#DepInfo) * [StdLibInfo](#StdLibInfo) ## CrateInfo
CrateInfo(aliases, compile_data, compile_data_targets, data, deps, edition, is_test, metadata, name,
output, owner, proc_macro_deps, root, rustc_env, rustc_env_files, rustc_output,
rustc_rmeta_output, srcs, std_dylib, type, wrapped_crate_type)
A provider containing general Crate information.
**FIELDS**
| Name | Description |
| :------------- | :------------- |
| aliases | Dict[Label, String]: Renamed and aliased crates |
| compile_data | depset[File]: Compile data required by this crate. |
| compile_data_targets | depset[Label]: Compile data targets required by this crate. |
| data | depset[File]: Compile data required by crates that use the current crate as a proc-macro. |
| deps | depset[DepVariantInfo]: This crate's (rust or cc) dependencies' providers. |
| edition | str: The edition of this crate. |
| is_test | bool: If the crate is being compiled in a test context |
| metadata | File: The output from rustc from producing the output file. It is optional. |
| name | str: The name of this crate. |
| output | File: The output File that will be produced, depends on crate type. |
| owner | Label: The label of the target that produced this CrateInfo |
| proc_macro_deps | depset[DepVariantInfo]: This crate's rust proc_macro dependencies' providers. |
| root | File: The source File entrypoint to this crate, eg. lib.rs |
| rustc_env | Dict[String, String]: Additional "key": "value" environment variables to set for rustc. |
| rustc_env_files | [File]: Files containing additional environment variables to set for rustc. |
| rustc_output | File: The output from rustc from producing the output file. It is optional. |
| rustc_rmeta_output | File: The rmeta file produced for this crate. It is optional. |
| srcs | depset[File]: All source Files that are part of the crate. |
| std_dylib | File: libstd.so file |
| type | str: The type of this crate (see [rustc --crate-type](https://doc.rust-lang.org/rustc/command-line-arguments.html#--crate-type-a-list-of-types-of-crates-for-the-compiler-to-emit)). |
| wrapped_crate_type | str, optional: The original crate type for targets generated using a previously defined crate (typically tests using the rust_test::crate attribute) |
## DepInfo
DepInfo(dep_env, direct_crates, link_search_path_files, transitive_build_infos,
transitive_crate_outputs, transitive_crates, transitive_data, transitive_metadata_outputs,
transitive_noncrates, transitive_proc_macro_data)
A provider containing information about a Crate's dependencies.
**FIELDS**
| Name | Description |
| :------------- | :------------- |
| dep_env | File: File with environment variables direct dependencies build scripts rely upon. |
| direct_crates | depset[AliasableDepInfo] |
| link_search_path_files | depset[File]: All transitive files containing search paths to pass to the linker |
| transitive_build_infos | depset[BuildInfo] |
| transitive_crate_outputs | depset[File]: All transitive crate outputs. |
| transitive_crates | depset[CrateInfo] |
| transitive_data | depset[File]: Data of all transitive non-macro dependencies. |
| transitive_metadata_outputs | depset[File]: All transitive metadata dependencies (.rmeta, for crates that provide them) and all transitive object dependencies (.rlib) for crates that don't provide metadata. |
| transitive_noncrates | depset[LinkerInput]: All transitive dependencies that aren't crates. |
| transitive_proc_macro_data | depset[File]: Data of all transitive proc-macro dependencies, and non-macro dependencies of those macros. |
## StdLibInfo
StdLibInfo(alloc_files, between_alloc_and_core_files, between_core_and_std_files, core_files,
dot_a_files, memchr_files, panic_files, self_contained_files, srcs, std_dylib, std_files,
std_rlibs, test_files)
A collection of files either found within the `rust-stdlib` artifact or generated based on existing files.
**FIELDS**
| Name | Description |
| :------------- | :------------- |
| alloc_files | List[File]: .a files related to the alloc module. |
| between_alloc_and_core_files | List[File]: .a files related to the compiler_builtins module. |
| between_core_and_std_files | List[File]: .a files related to all modules except adler, alloc, compiler_builtins, core, and std. |
| core_files | List[File]: .a files related to the core and adler modules |
| dot_a_files | Depset[File]: Generated .a files |
| memchr_files | Depset[File]: .a files associated with the memchr module. |
| panic_files | Depset[File]: .a files associated with panic_unwind and panic_abort. |
| self_contained_files | List[File]: All .o files from the self-contained directory. |
| srcs | List[Target]: All targets from the original srcs attribute. |
| std_dylib | File: libstd.so file |
| std_files | Depset[File]: .a files associated with the std module. |
| std_rlibs | List[File]: All .rlib files |
| test_files | Depset[File]: .a files associated with the test module. |