## GenericArg

# Trait GenericArg

Source

    pub trait GenericArg<I: Interner<GenericArg = Self>>:
        Copy
        + Debug
        + Hash
        + Eq
        + IntoKind<Kind = GenericArgKind<I>>
        + TypeVisitable<I>
        + Relate<I>
        + From<I::Ty>
        + From<I::Region>
        + From<I::Const>
        + From<I::Term> {
        // Provided methods
        fn as_term(&self) -> Option<I::Term> { ... }
        fn as_type(&self) -> Option<I::Ty> { ... }
        fn expect_ty(&self) -> I::Ty { ... }
        fn as_const(&self) -> Option<I::Const> { ... }
        fn expect_const(&self) -> I::Const { ... }
        fn as_region(&self) -> Option<I::Region> { ... }
        fn expect_region(&self) -> I::Region { ... }
        fn is_non_region_infer(self) -> bool { ... }
    }

## Provided Methods§

Source

#### fn as_term(&self) -> Option<I::Term>

Source

#### fn as_type(&self) -> Option<I::Ty>

Source

#### fn expect_ty(&self) -> I::Ty

Source

#### fn as_const(&self) -> Option<I::Const>

Source

#### fn expect_const(&self) -> I::Const

Source

#### fn as_region(&self) -> Option<I::Region>

Source

#### fn expect_region(&self) -> I::Region

Source

#### fn is_non_region_infer(self) -> bool

## Dyn Compatibility§

This trait is not dyn compatible.

In older versions of Rust, dyn compatibility was called "object safety", so this trait is not object safe.

## Implementors§