2026-02-04 10:30:48 +00:00

13 lines
8.0 KiB
HTML
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

<!DOCTYPE html><html lang="en"><head><meta charset="utf-8"><meta name="viewport" content="width=device-width, initial-scale=1.0"><meta name="generator" content="rustdoc"><meta name="description" content="This module specifies the input to rust-analyzer. In some sense, this is the most important module, because all other fancy stuff is strictly derived from this input."><title>base_db::input - Rust</title><script>if(window.location.protocol!=="file:")document.head.insertAdjacentHTML("beforeend","SourceSerif4-Regular-6b053e98.ttf.woff2,FiraSans-Italic-81dc35de.woff2,FiraSans-Regular-0fe48ade.woff2,FiraSans-MediumItalic-ccf7e434.woff2,FiraSans-Medium-e1aa3f0a.woff2,SourceCodePro-Regular-8badfe75.ttf.woff2,SourceCodePro-Semibold-aa29a496.ttf.woff2".split(",").map(f=>`<link rel="preload" as="font" type="font/woff2"href="../../static.files/${f}">`).join(""))</script><link rel="stylesheet" href="../../static.files/normalize-9960930a.css"><link rel="stylesheet" href="../../static.files/rustdoc-ca0dd0c4.css"><meta name="rustdoc-vars" data-root-path="../../" data-static-root-path="../../static.files/" data-current-crate="base_db" data-themes="" data-resource-suffix="" data-rustdoc-version="1.93.0 (254b59607 2026-01-19)" data-channel="1.93.0" data-search-js="search-9e2438ea.js" data-stringdex-js="stringdex-a3946164.js" data-settings-js="settings-c38705f0.js" ><script src="../../static.files/storage-e2aeef58.js"></script><script defer src="../sidebar-items.js"></script><script defer src="../../static.files/main-a410ff4d.js"></script><noscript><link rel="stylesheet" href="../../static.files/noscript-263c88ec.css"></noscript><link rel="alternate icon" type="image/png" href="../../static.files/favicon-32x32-eab170b8.png"><link rel="icon" type="image/svg+xml" href="../../static.files/favicon-044be391.svg"></head><body class="rustdoc mod"><!--[if lte IE 11]><div class="warning">This old browser is unsupported and will most likely display funky things.</div><![endif]--><rustdoc-topbar><h2><a href="#">Module input</a></h2></rustdoc-topbar><nav class="sidebar"><div class="sidebar-crate"><h2><a href="../../base_db/index.html">base_db</a><span class="version">0.0.0</span></h2></div><div class="sidebar-elems"><section id="rustdoc-toc"><h2 class="location"><a href="#">Module input</a></h2><h3><a href="#structs">Module Items</a></h3><ul class="block"><li><a href="#structs" title="Structs">Structs</a></li><li><a href="#enums" title="Enums">Enums</a></li><li><a href="#types" title="Type Aliases">Type Aliases</a></li></ul></section><div id="rustdoc-modnav"><h2 class="in-crate"><a href="../index.html">In crate base_<wbr>db</a></h2></div></div></nav><div class="sidebar-resizer" title="Drag to resize sidebar"></div><main><div class="width-limiter"><section id="main-content" class="content"><div class="main-heading"><div class="rustdoc-breadcrumbs"><a href="../index.html">base_db</a></div><h1>Module <span>input</span>&nbsp;<button id="copy-path" title="Copy item path to clipboard">Copy item path</button></h1><rustdoc-toolbar></rustdoc-toolbar><span class="sub-heading"><a class="src" href="../../src/base_db/input.rs.html#1-1187">Source</a> </span></div><details class="toggle top-doc" open><summary class="hideme"><span>Expand description</span></summary><div class="docblock"><p>This module specifies the input to rust-analyzer. In some sense, this is
<strong>the</strong> most important module, because all other fancy stuff is strictly
derived from this input.</p>
<p>Note that neither this module, nor any other part of the analyzers core do
actual IO. See <code>vfs</code> and <code>project_model</code> in the <code>rust-analyzer</code> crate for how
actual IO is done and lowered to input.</p>
</div></details><h2 id="structs" class="section-header">Structs<a href="#structs" class="anchor">§</a></h2><dl class="item-table"><dt><a class="struct" href="struct.Crate.html" title="struct base_db::input::Crate">Crate</a></dt><dt><a class="struct" href="struct.CrateBuilder.html" title="struct base_db::input::CrateBuilder">Crate<wbr>Builder</a></dt><dt><a class="struct" href="struct.CrateData.html" title="struct base_db::input::CrateData">Crate<wbr>Data</a></dt><dt><a class="struct" href="struct.CrateDisplayName.html" title="struct base_db::input::CrateDisplayName">Crate<wbr>Display<wbr>Name</a></dt><dt><a class="struct" href="struct.CrateGraphBuilder.html" title="struct base_db::input::CrateGraphBuilder">Crate<wbr>Graph<wbr>Builder</a></dt><dt><a class="struct" href="struct.CrateName.html" title="struct base_db::input::CrateName">Crate<wbr>Name</a></dt><dt><a class="struct" href="struct.CratesMap.html" title="struct base_db::input::CratesMap">Crates<wbr>Map</a></dt><dd>The mapping from <a href="../struct.UniqueCrateData.html" title="struct base_db::UniqueCrateData"><code>UniqueCrateData</code></a> to their <a href="../struct.Crate.html" title="struct base_db::Crate"><code>Crate</code></a> input.</dd><dt><a class="struct" href="struct.CyclicDependenciesError.html" title="struct base_db::input::CyclicDependenciesError">Cyclic<wbr>Dependencies<wbr>Error</a></dt><dt><a class="struct" href="struct.Dependency.html" title="struct base_db::input::Dependency">Dependency</a></dt><dt><a class="struct" href="struct.Env.html" title="struct base_db::input::Env">Env</a></dt><dt><a class="struct" href="struct.ExtraCrateData.html" title="struct base_db::input::ExtraCrateData">Extra<wbr>Crate<wbr>Data</a></dt><dd>Crate data unrelated to analysis.</dd><dt><a class="struct" href="struct.SourceRoot.html" title="struct base_db::input::SourceRoot">Source<wbr>Root</a></dt><dd>Files are grouped into source roots. A source root is a directory on the
file systems which is watched for changes. Typically it corresponds to a
Rust crate. Source roots <em>might</em> be nested: in this case, a file belongs to
the nearest enclosing source root. Paths to files are always relative to a
source root, and the analyzer does not know the root path of the source root at
all. So, a file from one source root cant refer to a file in another source
root by path.</dd><dt><a class="struct" href="struct.SourceRootId.html" title="struct base_db::input::SourceRootId">Source<wbr>Root<wbr>Id</a></dt><dt><a class="struct" href="struct.UniqueCrateData.html" title="struct base_db::input::UniqueCrateData">Unique<wbr>Crate<wbr>Data</a></dt><dd>The crate data from which we derive the <code>Crate</code>.</dd></dl><h2 id="enums" class="section-header">Enums<a href="#enums" class="anchor">§</a></h2><dl class="item-table"><dt><a class="enum" href="enum.CrateOrigin.html" title="enum base_db::input::CrateOrigin">Crate<wbr>Origin</a></dt><dd>Origin of the crates.</dd><dt><a class="enum" href="enum.LangCrateOrigin.html" title="enum base_db::input::LangCrateOrigin">Lang<wbr>Crate<wbr>Origin</a></dt><dt><a class="enum" href="enum.ProcMacroLoadingError.html" title="enum base_db::input::ProcMacroLoadingError">Proc<wbr>Macro<wbr>Loading<wbr>Error</a></dt><dt><a class="enum" href="enum.ReleaseChannel.html" title="enum base_db::input::ReleaseChannel">Release<wbr>Channel</a></dt></dl><h2 id="types" class="section-header">Type Aliases<a href="#types" class="anchor">§</a></h2><dl class="item-table"><dt><a class="type" href="type.BuiltCrateData.html" title="type base_db::input::BuiltCrateData">Built<wbr>Crate<wbr>Data</a></dt><dt><a class="type" href="type.BuiltDependency.html" title="type base_db::input::BuiltDependency">Built<wbr>Dependency</a></dt><dt><a class="type" href="type.CrateBuilderId.html" title="type base_db::input::CrateBuilderId">Crate<wbr>Builder<wbr>Id</a></dt><dt><a class="type" href="type.CrateDataBuilder.html" title="type base_db::input::CrateDataBuilder">Crate<wbr>Data<wbr>Builder</a></dt><dt><a class="type" href="type.CratesIdMap.html" title="type base_db::input::CratesIdMap">Crates<wbr>IdMap</a></dt><dt><a class="type" href="type.DependencyBuilder.html" title="type base_db::input::DependencyBuilder">Dependency<wbr>Builder</a></dt><dt><a class="type" href="type.ProcMacroPaths.html" title="type base_db::input::ProcMacroPaths">Proc<wbr>Macro<wbr>Paths</a></dt></dl></section></div></main></body></html>