Update ParamEnv
docs
This commit is contained in:
parent
8058136502
commit
a91f6221b9
@ -1034,9 +1034,11 @@ fn new(ui: UniverseIndex, var: BoundVar) -> Self {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
/// When type checking, we use the `ParamEnv` to track
|
/// When interacting with the type system we must provide information about the
|
||||||
/// details about the set of where-clauses that are in scope at this
|
/// environment. `ParamEnv` is the type that represents this information. See the
|
||||||
/// particular point.
|
/// [dev guide chapter](param_env_guide) for more information.
|
||||||
|
///
|
||||||
|
/// [param_env_guide]: https://rustc-dev-guide.rust-lang.org/param_env/param_env_summary.html
|
||||||
#[derive(Copy, Clone, Hash, PartialEq, Eq)]
|
#[derive(Copy, Clone, Hash, PartialEq, Eq)]
|
||||||
pub struct ParamEnv<'tcx> {
|
pub struct ParamEnv<'tcx> {
|
||||||
/// This packs both caller bounds and the reveal enum into one pointer.
|
/// This packs both caller bounds and the reveal enum into one pointer.
|
||||||
@ -1103,8 +1105,11 @@ fn visit_with<V: TypeVisitor<TyCtxt<'tcx>>>(&self, visitor: &mut V) -> V::Result
|
|||||||
impl<'tcx> ParamEnv<'tcx> {
|
impl<'tcx> ParamEnv<'tcx> {
|
||||||
/// Construct a trait environment suitable for contexts where
|
/// Construct a trait environment suitable for contexts where
|
||||||
/// there are no where-clauses in scope. Hidden types (like `impl
|
/// there are no where-clauses in scope. Hidden types (like `impl
|
||||||
/// Trait`) are left hidden, so this is suitable for ordinary
|
/// Trait`) are left hidden. In majority of cases it is incorrect
|
||||||
/// type-checking.
|
/// to use an empty environment. See the [dev guide section][param_env_guide]
|
||||||
|
/// for information on what a `ParamEnv` is and how to acquire one.
|
||||||
|
///
|
||||||
|
/// [param_env_guide]: https://rustc-dev-guide.rust-lang.org/param_env/param_env_summary.html
|
||||||
#[inline]
|
#[inline]
|
||||||
pub fn empty() -> Self {
|
pub fn empty() -> Self {
|
||||||
Self::new(List::empty(), Reveal::UserFacing)
|
Self::new(List::empty(), Reveal::UserFacing)
|
||||||
|
Loading…
Reference in New Issue
Block a user