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
|
||||
/// details about the set of where-clauses that are in scope at this
|
||||
/// particular point.
|
||||
/// When interacting with the type system we must provide information about the
|
||||
/// environment. `ParamEnv` is the type that represents this information. See the
|
||||
/// [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)]
|
||||
pub struct ParamEnv<'tcx> {
|
||||
/// 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> {
|
||||
/// Construct a trait environment suitable for contexts where
|
||||
/// there are no where-clauses in scope. Hidden types (like `impl
|
||||
/// Trait`) are left hidden, so this is suitable for ordinary
|
||||
/// type-checking.
|
||||
/// Trait`) are left hidden. In majority of cases it is incorrect
|
||||
/// 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]
|
||||
pub fn empty() -> Self {
|
||||
Self::new(List::empty(), Reveal::UserFacing)
|
||||
|
Loading…
Reference in New Issue
Block a user