| <!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="The type system. We currently use this to infer types for completion, hover information and various assists."><title>hir_ty - 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" crossorigin href="../static.files/${f}">`).join(""))</script><link rel="stylesheet" href="../static.files/normalize-9960930a.css"><link rel="stylesheet" href="../static.files/rustdoc-aa0817cf.css"><meta name="rustdoc-vars" data-root-path="../" data-static-root-path="../static.files/" data-current-crate="hir_ty" data-themes="" data-resource-suffix="" data-rustdoc-version="1.90.0 (1159e78c4 2025-09-14)" data-channel="1.90.0" data-search-js="search-fa3e91e5.js" data-settings-js="settings-5514c975.js" ><script src="../static.files/storage-68b7e25d.js"></script><script defer src="../crates.js"></script><script defer src="../static.files/main-eebb9057.js"></script><noscript><link rel="stylesheet" href="../static.files/noscript-32bb7600.css"></noscript><link rel="alternate icon" type="image/png" href="../static.files/favicon-32x32-6580c154.png"><link rel="icon" type="image/svg+xml" href="../static.files/favicon-044be391.svg"></head><body class="rustdoc mod crate"><!--[if lte IE 11]><div class="warning">This old browser is unsupported and will most likely display funky things.</div><![endif]--><nav class="mobile-topbar"><button class="sidebar-menu-toggle" title="show sidebar"></button></nav><nav class="sidebar"><div class="sidebar-crate"><h2><a href="../hir_ty/index.html">hir_ty</a><span class="version">0.0.0</span></h2></div><div class="sidebar-elems"><ul class="block"><li><a id="all-types" href="all.html">All Items</a></li></ul><section id="rustdoc-toc"><h3><a href="#reexports">Crate Items</a></h3><ul class="block"><li><a href="#reexports" title="Re-exports">Re-exports</a></li><li><a href="#modules" title="Modules">Modules</a></li><li><a href="#macros" title="Macros">Macros</a></li><li><a href="#structs" title="Structs">Structs</a></li><li><a href="#enums" title="Enums">Enums</a></li><li><a href="#traits" title="Traits">Traits</a></li><li><a href="#functions" title="Functions">Functions</a></li><li><a href="#types" title="Type Aliases">Type Aliases</a></li></ul></section><div id="rustdoc-modnav"></div></div></nav><div class="sidebar-resizer" title="Drag to resize sidebar"></div><main><div class="width-limiter"><rustdoc-search></rustdoc-search><section id="main-content" class="content"><div class="main-heading"><h1>Crate <span>hir_ty</span><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/hir_ty/lib.rs.html#1-1114">Source</a> </span></div><details class="toggle top-doc" open><summary class="hideme"><span>Expand description</span></summary><div class="docblock"><p>The type system. We currently use this to infer types for completion, hover |
| information and various assists.</p> |
| </div></details><h2 id="reexports" class="section-header">Re-exports<a href="#reexports" class="anchor">§</a></h2><dl class="item-table reexports"><dt id="reexport.autoderef"><code>pub use autoderef::<a class="fn" href="autoderef/fn.autoderef.html" title="fn hir_ty::autoderef::autoderef">autoderef</a>;</code></dt><dt id="reexport.check_orphan_rules"><code>pub use method_resolution::<a class="fn" href="method_resolution/fn.check_orphan_rules.html" title="fn hir_ty::method_resolution::check_orphan_rules">check_orphan_rules</a>;</code></dt><dt id="reexport.TraitEnvironment"><code>pub use traits::<a class="struct" href="traits/struct.TraitEnvironment.html" title="struct hir_ty::traits::TraitEnvironment">TraitEnvironment</a>;</code></dt></dl><h2 id="modules" class="section-header">Modules<a href="#modules" class="anchor">§</a></h2><dl class="item-table"><dt><a class="mod" href="autoderef/index.html" title="mod hir_ty::autoderef">autoderef</a></dt><dd>In certain situations, rust automatically inserts derefs as necessary: for |
| example, field accesses <code>foo.bar</code> still work when <code>foo</code> is actually a |
| reference to a type with the field <code>bar</code>. This is an approximation of the |
| logic in rustc (which lives in rustc_hir_analysis/check/autoderef.rs).</dd><dt><a class="mod" href="consteval/index.html" title="mod hir_ty::consteval">consteval</a></dt><dd>Constant evaluation details</dd><dt><a class="mod" href="consteval_nextsolver/index.html" title="mod hir_ty::consteval_nextsolver">consteval_<wbr>nextsolver</a></dt><dd>Constant evaluation details</dd><dt><a class="mod" href="db/index.html" title="mod hir_ty::db">db</a></dt><dd>The home of <code>HirDatabase</code>, which is the Salsa database containing all the |
| type inference-related queries.</dd><dt><a class="mod" href="diagnostics/index.html" title="mod hir_ty::diagnostics">diagnostics</a></dt><dd>Type inference-based diagnostics.</dd><dt><a class="mod" href="display/index.html" title="mod hir_ty::display">display</a></dt><dd>The <code>HirDisplay</code> trait, which serves two purposes: Turning various bits from |
| HIR back into source code, and just displaying them for debugging/testing |
| purposes.</dd><dt><a class="mod" href="dyn_compatibility/index.html" title="mod hir_ty::dyn_compatibility">dyn_<wbr>compatibility</a></dt><dd>Compute the dyn-compatibility of a trait</dd><dt><a class="mod" href="generics/index.html" title="mod hir_ty::generics">generics</a></dt><dd>Utilities for working with generics.</dd><dt><a class="mod" href="lang_items/index.html" title="mod hir_ty::lang_items">lang_<wbr>items</a></dt><dd>Functions to detect special lang items</dd><dt><a class="mod" href="layout/index.html" title="mod hir_ty::layout">layout</a></dt><dd>Compute the binary representation of a type</dd><dt><a class="mod" href="method_resolution/index.html" title="mod hir_ty::method_resolution">method_<wbr>resolution</a></dt><dd>This module is concerned with finding methods that a given type provides. |
| For details about how this works in rustc, see the method lookup page in the |
| <a href="https://rust-lang.github.io/rustc-guide/method-lookup.html">rustc guide</a> |
| and the corresponding code mostly in rustc_hir_analysis/check/method/probe.rs.</dd><dt><a class="mod" href="mir/index.html" title="mod hir_ty::mir">mir</a></dt><dd>MIR definitions and implementation</dd><dt><a class="mod" href="next_solver/index.html" title="mod hir_ty::next_solver">next_<wbr>solver</a></dt><dd>Things relevant to the next trait solver.</dd><dt><a class="mod" href="primitive/index.html" title="mod hir_ty::primitive">primitive</a></dt><dd>A few helper functions for dealing with primitives.</dd><dt><a class="mod" href="traits/index.html" title="mod hir_ty::traits">traits</a></dt><dd>Trait solving using Chalk.</dd></dl><h2 id="macros" class="section-header">Macros<a href="#macros" class="anchor">§</a></h2><dl class="item-table"><dt><a class="macro" href="macro.has_interner.html" title="macro hir_ty::has_interner">has_<wbr>interner</a></dt></dl><h2 id="structs" class="section-header">Structs<a href="#structs" class="anchor">§</a></h2><dl class="item-table"><dt><a class="struct" href="struct.Adjustment.html" title="struct hir_ty::Adjustment">Adjustment</a></dt><dd>Represents coercing a value to a different type of value.</dd><dt><a class="struct" href="struct.AdtId.html" title="struct hir_ty::AdtId">AdtId</a></dt><dd>The id for an Abstract Data Type (i.e. structs, unions and enums).</dd><dt><a class="struct" href="struct.BoundVar.html" title="struct hir_ty::BoundVar">Bound<wbr>Var</a></dt><dd>Identifies a particular bound variable within a binder. |
| Variables are identified by the combination of a <a href="struct.DebruijnIndex.html" title="struct hir_ty::DebruijnIndex"><code>DebruijnIndex</code></a>, |
| which identifies the <em>binder</em>, and an index within that binder.</dd><dt><a class="struct" href="struct.CallableSig.html" title="struct hir_ty::CallableSig">Callable<wbr>Sig</a></dt><dd>A function signature as seen by type inference: Several parameter types and |
| one return type.</dd><dt><a class="struct" href="struct.CapturedItem.html" title="struct hir_ty::CapturedItem">Captured<wbr>Item</a></dt><dt><a class="struct" href="struct.ComplexMemoryMap.html" title="struct hir_ty::ComplexMemoryMap">Complex<wbr>Memory<wbr>Map</a></dt><dt><a class="struct" href="struct.DebruijnIndex.html" title="struct hir_ty::DebruijnIndex">Debruijn<wbr>Index</a></dt><dd>References the binder at the given depth. The index is a <a href="https://en.wikipedia.org/wiki/De_Bruijn_index">de |
| Bruijn index</a>, so it counts back through the in-scope binders, |
| with 0 being the innermost binder. This is used in impls and |
| the like. For example, if we had a rule like <code>for<T> { (T: Clone) :- (T: Copy) }</code>, then <code>T</code> would be represented as a |
| <code>BoundVar(0)</code> (as the <code>for</code> is the innermost binder).</dd><dt><a class="struct" href="struct.ImplTrait.html" title="struct hir_ty::ImplTrait">Impl<wbr>Trait</a></dt><dt><a class="struct" href="struct.ImplTraits.html" title="struct hir_ty::ImplTraits">Impl<wbr>Traits</a></dt><dt><a class="struct" href="struct.InferenceResult.html" title="struct hir_ty::InferenceResult">Inference<wbr>Result</a></dt><dd>The result of type inference: A mapping from expressions and patterns to types.</dd><dt><a class="struct" href="struct.Interner.html" title="struct hir_ty::Interner">Interner</a></dt><dt><a class="struct" href="struct.OverloadedDeref.html" title="struct hir_ty::OverloadedDeref">Overloaded<wbr>Deref</a></dt><dd>An overloaded autoderef step, representing a <code>Deref(Mut)::deref(_mut)</code> |
| call, with the signature <code>&'a T -> &'a U</code> or <code>&'a mut T -> &'a mut U</code>. |
| The target type is <code>U</code> in both cases, with the region and mutability |
| being those shared by both the receiver and the returned reference.</dd><dt><a class="struct" href="struct.TargetFeatures.html" title="struct hir_ty::TargetFeatures">Target<wbr>Features</a></dt><dt><a class="struct" href="struct.TyBuilder.html" title="struct hir_ty::TyBuilder">TyBuilder</a></dt><dd>This is a builder for <code>Ty</code> or anything that needs a <code>Substitution</code>.</dd><dt><a class="struct" href="struct.TyLoweringContext.html" title="struct hir_ty::TyLoweringContext">TyLowering<wbr>Context</a></dt><dt><a class="struct" href="struct.TyLoweringDiagnostic.html" title="struct hir_ty::TyLoweringDiagnostic">TyLowering<wbr>Diagnostic</a></dt></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.Adjust.html" title="enum hir_ty::Adjust">Adjust</a></dt><dt><a class="enum" href="enum.AutoBorrow.html" title="enum hir_ty::AutoBorrow">Auto<wbr>Borrow</a></dt><dt><a class="enum" href="enum.BindingMode.html" title="enum hir_ty::BindingMode">Binding<wbr>Mode</a></dt><dd>Binding modes inferred for patterns. |
| <a href="https://doc.rust-lang.org/reference/patterns.html#binding-modes">https://doc.rust-lang.org/reference/patterns.html#binding-modes</a></dd><dt><a class="enum" href="enum.CaptureKind.html" title="enum hir_ty::CaptureKind">Capture<wbr>Kind</a></dt><dt><a class="enum" href="enum.CastError.html" title="enum hir_ty::CastError">Cast<wbr>Error</a></dt><dt><a class="enum" href="enum.ConstScalar.html" title="enum hir_ty::ConstScalar">Const<wbr>Scalar</a></dt><dd>A concrete constant value</dd><dt><a class="enum" href="enum.ConstScalarNs.html" title="enum hir_ty::ConstScalarNs">Const<wbr>Scalar<wbr>Ns</a></dt><dd>A concrete constant value</dd><dt><a class="enum" href="enum.DropGlue.html" title="enum hir_ty::DropGlue">Drop<wbr>Glue</a></dt><dt><a class="enum" href="enum.FnAbi.html" title="enum hir_ty::FnAbi">FnAbi</a></dt><dt><a class="enum" href="enum.GenericArgsProhibitedReason.html" title="enum hir_ty::GenericArgsProhibitedReason">Generic<wbr>Args<wbr>Prohibited<wbr>Reason</a></dt><dt><a class="enum" href="enum.ImplTraitId.html" title="enum hir_ty::ImplTraitId">Impl<wbr>Trait<wbr>Id</a></dt><dt><a class="enum" href="enum.ImplTraitLoweringMode.html" title="enum hir_ty::ImplTraitLoweringMode">Impl<wbr>Trait<wbr>Lowering<wbr>Mode</a></dt><dt><a class="enum" href="enum.IncorrectGenericsLenKind.html" title="enum hir_ty::IncorrectGenericsLenKind">Incorrect<wbr>Generics<wbr>LenKind</a></dt><dt><a class="enum" href="enum.InferenceDiagnostic.html" title="enum hir_ty::InferenceDiagnostic">Inference<wbr>Diagnostic</a></dt><dt><a class="enum" href="enum.InferenceTyDiagnosticSource.html" title="enum hir_ty::InferenceTyDiagnosticSource">Inference<wbr>TyDiagnostic<wbr>Source</a></dt><dt><a class="enum" href="enum.LifetimeElisionKind.html" title="enum hir_ty::LifetimeElisionKind">Lifetime<wbr>Elision<wbr>Kind</a></dt><dt><a class="enum" href="enum.MemoryMap.html" title="enum hir_ty::MemoryMap">Memory<wbr>Map</a></dt><dd>A constant can have reference to other things. Memory map job is holding |
| the necessary bits of memory of the const eval session to keep the constant |
| meaningful.</dd><dt><a class="enum" href="enum.Mutability.html" title="enum hir_ty::Mutability">Mutability</a></dt><dd>Whether a type is mutable or not.</dd><dt><a class="enum" href="enum.ParamKind.html" title="enum hir_ty::ParamKind">Param<wbr>Kind</a></dt><dt><a class="enum" href="enum.ParamLoweringMode.html" title="enum hir_ty::ParamLoweringMode">Param<wbr>Lowering<wbr>Mode</a></dt><dt><a class="enum" href="enum.PathGenericsSource.html" title="enum hir_ty::PathGenericsSource">Path<wbr>Generics<wbr>Source</a></dt><dd>A path can have many generic arguments: each segment may have one associated with the |
| segment, and in addition, each associated type binding may have generic arguments. This |
| enum abstracts over both.</dd><dt><a class="enum" href="enum.PathLoweringDiagnostic.html" title="enum hir_ty::PathLoweringDiagnostic">Path<wbr>Lowering<wbr>Diagnostic</a></dt><dt><a class="enum" href="enum.PointerCast.html" title="enum hir_ty::PointerCast">Pointer<wbr>Cast</a></dt><dt><a class="enum" href="enum.Safety.html" title="enum hir_ty::Safety">Safety</a></dt><dd>Whether a function is safe or not.</dd><dt><a class="enum" href="enum.Scalar.html" title="enum hir_ty::Scalar">Scalar</a></dt><dd>Types of scalar values.</dd><dt><a class="enum" href="enum.TargetFeatureIsSafeInTarget.html" title="enum hir_ty::TargetFeatureIsSafeInTarget">Target<wbr>Feature<wbr>IsSafe<wbr>InTarget</a></dt><dt><a class="enum" href="enum.TyDefId.html" title="enum hir_ty::TyDefId">TyDefId</a></dt><dt><a class="enum" href="enum.TyLoweringDiagnosticKind.html" title="enum hir_ty::TyLoweringDiagnosticKind">TyLowering<wbr>Diagnostic<wbr>Kind</a></dt><dt><a class="enum" href="enum.TyVariableKind.html" title="enum hir_ty::TyVariableKind">TyVariable<wbr>Kind</a></dt><dd>Represents some extra knowledge we may have about the type variable.</dd><dt><a class="enum" href="enum.Unsafety.html" title="enum hir_ty::Unsafety">Unsafety</a></dt><dt><a class="enum" href="enum.ValueTyDefId.html" title="enum hir_ty::ValueTyDefId">Value<wbr>TyDef<wbr>Id</a></dt><dt><a class="enum" href="enum.Variance.html" title="enum hir_ty::Variance">Variance</a></dt></dl><h2 id="traits" class="section-header">Traits<a href="#traits" class="anchor">§</a></h2><dl class="item-table"><dt><a class="trait" href="trait.Cast.html" title="trait hir_ty::Cast">Cast</a></dt><dd>The <code>Cast</code> trait is used to make annoying upcasts between |
| logically equivalent types that imply wrappers. For example, one |
| could convert a <code>DomainGoal</code> into a <code>Goal</code> by doing:</dd><dt><a class="trait" href="trait.DynTyExt.html" title="trait hir_ty::DynTyExt">DynTy<wbr>Ext</a></dt><dt><a class="trait" href="trait.ProjectionTyExt.html" title="trait hir_ty::ProjectionTyExt">Projection<wbr>TyExt</a></dt><dt><a class="trait" href="trait.ToChalk.html" title="trait hir_ty::ToChalk">ToChalk</a></dt><dt><a class="trait" href="trait.TraitRefExt.html" title="trait hir_ty::TraitRefExt">Trait<wbr>RefExt</a></dt><dt><a class="trait" href="trait.TyExt.html" title="trait hir_ty::TyExt">TyExt</a></dt><dt><a class="trait" href="trait.TypeSuperVisitable.html" title="trait hir_ty::TypeSuperVisitable">Type<wbr>Super<wbr>Visitable</a></dt><dd>For types where “visit” invokes a callback on the <code>visitor</code>, the |
| <code>TypeSuperVisitable</code> trait captures the recursive behavior that visits all |
| the contents of the type.</dd><dt><a class="trait" href="trait.TypeVisitable.html" title="trait hir_ty::TypeVisitable">Type<wbr>Visitable</a></dt><dd>Applies the given <code>visitor</code> to a value, producing a visited result |
| of type <code>TypeVisitor::Result</code>.</dd><dt><a class="trait" href="trait.TypeVisitor.html" title="trait hir_ty::TypeVisitor">Type<wbr>Visitor</a></dt><dd>A “visitor” recursively folds some term – that is, some bit of IR, |
| such as a <code>Goal</code>, and computes a value as a result.</dd></dl><h2 id="functions" class="section-header">Functions<a href="#functions" class="anchor">§</a></h2><dl class="item-table"><dt><a class="fn" href="fn.all_super_traits.html" title="fn hir_ty::all_super_traits">all_<wbr>super_<wbr>traits</a></dt><dd>Returns an iterator over the whole super trait hierarchy (including the |
| trait itself).</dd><dt><a class="fn" href="fn.associated_type_shorthand_candidates.html" title="fn hir_ty::associated_type_shorthand_candidates">associated_<wbr>type_<wbr>shorthand_<wbr>candidates</a></dt><dt><a class="fn" href="fn.callable_sig_from_fn_trait.html" title="fn hir_ty::callable_sig_from_fn_trait">callable_<wbr>sig_<wbr>from_<wbr>fn_<wbr>trait</a></dt><dt><a class="fn" href="fn.collect_placeholders.html" title="fn hir_ty::collect_placeholders">collect_<wbr>placeholders</a></dt><dd>Returns unique placeholders for types and consts contained in <code>value</code>.</dd><dt><a class="fn" href="fn.could_coerce.html" title="fn hir_ty::could_coerce">could_<wbr>coerce</a></dt><dt><a class="fn" href="fn.could_unify.html" title="fn hir_ty::could_unify">could_<wbr>unify</a></dt><dd>Check if types unify.</dd><dt><a class="fn" href="fn.could_unify_deeply.html" title="fn hir_ty::could_unify_deeply">could_<wbr>unify_<wbr>deeply</a></dt><dd>Check if types unify eagerly making sure there are no unresolved goals.</dd><dt><a class="fn" href="fn.direct_super_traits.html" title="fn hir_ty::direct_super_traits">direct_<wbr>super_<wbr>traits</a></dt><dd>Returns an iterator over the direct super traits (including the trait itself).</dd><dt><a class="fn" href="fn.error_lifetime.html" title="fn hir_ty::error_lifetime">error_<wbr>lifetime</a></dt><dt><a class="fn" href="fn.from_assoc_type_id.html" title="fn hir_ty::from_assoc_type_id">from_<wbr>assoc_<wbr>type_<wbr>id</a></dt><dt><a class="fn" href="fn.from_chalk_trait_id.html" title="fn hir_ty::from_chalk_trait_id">from_<wbr>chalk_<wbr>trait_<wbr>id</a></dt><dt><a class="fn" href="fn.from_foreign_def_id.html" title="fn hir_ty::from_foreign_def_id">from_<wbr>foreign_<wbr>def_<wbr>id</a></dt><dt><a class="fn" href="fn.from_placeholder_idx.html" title="fn hir_ty::from_placeholder_idx">from_<wbr>placeholder_<wbr>idx</a></dt><dt><a class="fn" href="fn.is_fn_unsafe_to_call.html" title="fn hir_ty::is_fn_unsafe_to_call">is_<wbr>fn_<wbr>unsafe_<wbr>to_<wbr>call</a></dt><dt><a class="fn" href="fn.known_const_to_ast.html" title="fn hir_ty::known_const_to_ast">known_<wbr>const_<wbr>to_<wbr>ast</a></dt><dt><a class="fn" href="fn.lt_from_placeholder_idx.html" title="fn hir_ty::lt_from_placeholder_idx">lt_<wbr>from_<wbr>placeholder_<wbr>idx</a></dt><dt><a class="fn" href="fn.lt_to_placeholder_idx.html" title="fn hir_ty::lt_to_placeholder_idx">lt_<wbr>to_<wbr>placeholder_<wbr>idx</a></dt><dt><a class="fn" href="fn.param_idx.html" title="fn hir_ty::param_idx">param_<wbr>idx</a></dt><dd>Return an index of a parameter in the generic type parameter list by it’s id.</dd><dt><a class="fn" href="fn.replace_errors_with_variables.html" title="fn hir_ty::replace_errors_with_variables">replace_<wbr>errors_<wbr>with_<wbr>variables</a></dt><dd>‘Canonicalizes’ the <code>t</code> by replacing any errors with new variables. Also |
| ensures there are no unbound variables or inference variables anywhere in |
| the <code>t</code>.</dd><dt><a class="fn" href="fn.setup_tracing.html" title="fn hir_ty::setup_tracing">setup_<wbr>tracing</a></dt><dt><a class="fn" href="fn.static_lifetime.html" title="fn hir_ty::static_lifetime">static_<wbr>lifetime</a></dt><dt><a class="fn" href="fn.target_feature_is_safe_in_target.html" title="fn hir_ty::target_feature_is_safe_in_target">target_<wbr>feature_<wbr>is_<wbr>safe_<wbr>in_<wbr>target</a></dt><dt><a class="fn" href="fn.to_assoc_type_id.html" title="fn hir_ty::to_assoc_type_id">to_<wbr>assoc_<wbr>type_<wbr>id</a></dt><dt><a class="fn" href="fn.to_chalk_trait_id.html" title="fn hir_ty::to_chalk_trait_id">to_<wbr>chalk_<wbr>trait_<wbr>id</a></dt><dt><a class="fn" href="fn.to_foreign_def_id.html" title="fn hir_ty::to_foreign_def_id">to_<wbr>foreign_<wbr>def_<wbr>id</a></dt><dt><a class="fn" href="fn.to_placeholder_idx.html" title="fn hir_ty::to_placeholder_idx">to_<wbr>placeholder_<wbr>idx</a></dt><dt><a class="fn" href="fn.to_placeholder_idx_no_index.html" title="fn hir_ty::to_placeholder_idx_no_index">to_<wbr>placeholder_<wbr>idx_<wbr>no_<wbr>index</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.AliasEq.html" title="type hir_ty::AliasEq">AliasEq</a></dt><dt><a class="type" href="type.AliasTy.html" title="type hir_ty::AliasTy">AliasTy</a></dt><dt><a class="type" href="type.AssocTypeId.html" title="type hir_ty::AssocTypeId">Assoc<wbr>Type<wbr>Id</a></dt><dt><a class="type" href="type.Binders.html" title="type hir_ty::Binders">Binders</a></dt><dd>Represents generic parameters and an item bound by them. When the item has parent, the binders |
| also contain the generic parameters for its parent. See chalk’s documentation for details.</dd><dt><a class="type" href="type.Canonical.html" title="type hir_ty::Canonical">Canonical</a></dt><dt><a class="type" href="type.CanonicalVarKinds.html" title="type hir_ty::CanonicalVarKinds">Canonical<wbr>VarKinds</a></dt><dt><a class="type" href="type.ClosureId.html" title="type hir_ty::ClosureId">Closure<wbr>Id</a></dt><dt><a class="type" href="type.Const.html" title="type hir_ty::Const">Const</a></dt><dt><a class="type" href="type.ConstValue.html" title="type hir_ty::ConstValue">Const<wbr>Value</a></dt><dt><a class="type" href="type.FnDefId.html" title="type hir_ty::FnDefId">FnDefId</a></dt><dt><a class="type" href="type.FnPointer.html" title="type hir_ty::FnPointer">FnPointer</a></dt><dt><a class="type" href="type.ForeignDefId.html" title="type hir_ty::ForeignDefId">Foreign<wbr>DefId</a></dt><dt><a class="type" href="type.GenericArg.html" title="type hir_ty::GenericArg">Generic<wbr>Arg</a></dt><dt><a class="type" href="type.GenericArgData.html" title="type hir_ty::GenericArgData">Generic<wbr>ArgData</a></dt><dt><a class="type" href="type.ImplTraitIdx.html" title="type hir_ty::ImplTraitIdx">Impl<wbr>Trait<wbr>Idx</a></dt><dt><a class="type" href="type.InEnvironment.html" title="type hir_ty::InEnvironment">InEnvironment</a></dt><dt><a class="type" href="type.OpaqueTyId.html" title="type hir_ty::OpaqueTyId">Opaque<wbr>TyId</a></dt><dt><a class="type" href="type.PlaceholderIndex.html" title="type hir_ty::PlaceholderIndex">Placeholder<wbr>Index</a></dt><dt><a class="type" href="type.PolyFnSig.html" title="type hir_ty::PolyFnSig">Poly<wbr>FnSig</a></dt><dd>A polymorphic function signature.</dd><dt><a class="type" href="type.ProjectionTy.html" title="type hir_ty::ProjectionTy">Projection<wbr>Ty</a></dt><dt><a class="type" href="type.QuantifiedWhereClause.html" title="type hir_ty::QuantifiedWhereClause">Quantified<wbr>Where<wbr>Clause</a></dt><dt><a class="type" href="type.Substitution.html" title="type hir_ty::Substitution">Substitution</a></dt><dd>Interned list of generic arguments for an item. When an item has parent, the <code>Substitution</code> for |
| it contains generic arguments for both its parent and itself. See chalk’s documentation for |
| details.</dd><dt><a class="type" href="type.TraitRef.html" title="type hir_ty::TraitRef">Trait<wbr>Ref</a></dt><dt><a class="type" href="type.Ty.html" title="type hir_ty::Ty">Ty</a></dt><dt><a class="type" href="type.TyKind.html" title="type hir_ty::TyKind">TyKind</a></dt><dt><a class="type" href="type.TypeFlags.html" title="type hir_ty::TypeFlags">Type<wbr>Flags</a></dt><dt><a class="type" href="type.WhereClause.html" title="type hir_ty::WhereClause">Where<wbr>Clause</a></dt></dl></section></div></main></body></html> |