Skip to main content

Module fast_reject

Module fast_reject 

Source

Re-exportsΒ§

use std::fmt::Debug; πŸ”’
use std::fmt::Debug; πŸ”’
use std::hash::Hash; πŸ”’
use std::hash::Hash; πŸ”’
use std::iter; πŸ”’
use std::marker::PhantomData; πŸ”’
use rustc_ast_ir::Mutability; πŸ”’
use rustc_macros::Decodable_NoContext; πŸ”’
use rustc_macros::Encodable_NoContext; πŸ”’
use rustc_macros::StableHash; πŸ”’
use crate::visit::TypeVisitableExt as _; πŸ”’
use crate as ty; πŸ”’
use crate::Const; πŸ”’
use crate::Interner; πŸ”’
use crate::inherent::*; πŸ”’

StructsΒ§

DeepRejectCtxt
Given generic arguments, could they be unified after replacing parameters with inference variables or placeholders. This behavior is toggled using the const generics.

EnumsΒ§

SimplifiedType
See simplify_type.
TreatParams
Generic parameters are pretty much just bound variables, e.g. the type of fn foo<'a, T>(x: &'a T) -> u32 { ... } can be thought of as for<'a, T> fn(&'a T) -> u32.

FunctionsΒ§

simplify_type
Tries to simplify a type by only returning the outermost injectiveΒΉ layer, if one exists.