Struct arithmetic_typing::ast::TypeConstraintsAst
source · #[non_exhaustive]pub struct TypeConstraintsAst<'a> {
pub object: Option<ObjectAst<'a>>,
pub terms: Vec<Spanned<'a>>,
}
Expand description
Bounds that can be placed on a type variable.
Fields (Non-exhaustive)§
This struct is marked as non-exhaustive
Non-exhaustive structs could have additional fields added in future. Therefore, non-exhaustive structs cannot be constructed in external crates using the traditional
Struct { .. }
syntax; cannot be matched against without a wildcard ..
; and struct update syntax will not work.object: Option<ObjectAst<'a>>
Object constraint, such as { x: 'T }
.
terms: Vec<Spanned<'a>>
Spans corresponding to constraints, e.g. Foo
and Bar
in Foo + Bar
.
Trait Implementations§
source§impl<'a> Clone for TypeConstraintsAst<'a>
impl<'a> Clone for TypeConstraintsAst<'a>
source§fn clone(&self) -> TypeConstraintsAst<'a>
fn clone(&self) -> TypeConstraintsAst<'a>
Returns a copy of the value. Read more
1.0.0 · source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source
. Read moresource§impl<'a> Debug for TypeConstraintsAst<'a>
impl<'a> Debug for TypeConstraintsAst<'a>
source§impl<'a> Default for TypeConstraintsAst<'a>
impl<'a> Default for TypeConstraintsAst<'a>
source§fn default() -> TypeConstraintsAst<'a>
fn default() -> TypeConstraintsAst<'a>
Returns the “default value” for a type. Read more
source§impl<'a> PartialEq for TypeConstraintsAst<'a>
impl<'a> PartialEq for TypeConstraintsAst<'a>
source§fn eq(&self, other: &TypeConstraintsAst<'a>) -> bool
fn eq(&self, other: &TypeConstraintsAst<'a>) -> bool
This method tests for
self
and other
values to be equal, and is used
by ==
.impl<'a> StructuralPartialEq for TypeConstraintsAst<'a>
Auto Trait Implementations§
impl<'a> Freeze for TypeConstraintsAst<'a>
impl<'a> RefUnwindSafe for TypeConstraintsAst<'a>
impl<'a> Send for TypeConstraintsAst<'a>
impl<'a> Sync for TypeConstraintsAst<'a>
impl<'a> Unpin for TypeConstraintsAst<'a>
impl<'a> UnwindSafe for TypeConstraintsAst<'a>
Blanket Implementations§
source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more
source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
source§default unsafe fn clone_to_uninit(&self, dst: *mut T)
default unsafe fn clone_to_uninit(&self, dst: *mut T)
🔬This is a nightly-only experimental API. (
clone_to_uninit
)