Enum WhereClausePlacement

pub enum WhereClausePlacement

Variants

Early

type Ty<T> where T: 'static = T;

In associated types, this syntax is deprecated in favor of the late placement.

warning: where clause not allowed here
  --> src/main.rs
   |
   | impl Trait for Thing { type Ty<T> where T: 'static = T; }
   |                                   ^^^^^^^^^^^^^^^^
   = note: see issue #89122 <https://github.com/rust-lang/rust/issues/89122> for more information
   = note: `#[warn(deprecated_where_clause_location)]` on by default
Late

type Ty<T> = T where T: 'static;

In item-level type aliases, this syntax is unstable.

error: where clauses are not allowed after the type for type aliases
 --> src/main.rs
  |
  | type Ty<T> = T where T: 'static;
  |                ^^^^^^^^^^^^^^^^
  = note: see issue #112792 <https://github.com/rust-lang/rust/issues/112792> for more information
  = help: add `#![feature(lazy_type_alias)]` to the crate attributes to enable

Trait Implementations

impl Clone for WhereClausePlacement

fn clone(&self) -> Self

impl Copy for WhereClausePlacement

Auto Trait Implementations

impl Freeze for WhereClausePlacement

impl RefUnwindSafe for WhereClausePlacement

impl Send for WhereClausePlacement

impl Sync for WhereClausePlacement

impl Unpin for WhereClausePlacement

impl UnsafeUnpin for WhereClausePlacement

impl UnwindSafe for WhereClausePlacement

Blanket Implementations

impl<T> Any for WhereClausePlacement where T: 'static + ?Sized,

fn type_id(&self) -> TypeId

impl<T> Borrow<T> for WhereClausePlacement where T: ?Sized,

fn borrow(&self) -> &T

impl<T> BorrowMut<T> for WhereClausePlacement where T: ?Sized,

fn borrow_mut(&mut self) -> &mut T

impl<T> CloneToUninit for WhereClausePlacement where T: Clone,

unsafe fn clone_to_uninit(&self, dest: *mut u8)

impl<T> From<T> for WhereClausePlacement

fn from(t: T) -> T

Returns the argument unchanged.

impl<T> ToOwned for WhereClausePlacement where T: Clone,

type Owned = T;
fn to_owned(&self) -> T
fn clone_into(&self, target: &mut T)

impl<T, U> Into<U> for WhereClausePlacement where U: From<T>,

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of [From]<T> for U chooses to do.

impl<T, U> TryFrom<U> for WhereClausePlacement where U: Into<T>,

type Error = never;
fn try_from(value: U) -> Result<T, never>

impl<T, U> TryInto<U> for WhereClausePlacement where U: TryFrom<T>,

type Error = <U as TryFrom<T>>::Error;
fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>