Enum rustc_parse::parser::ty::RecoverReturnSign
source · pub(super) enum RecoverReturnSign {
Yes,
OnlyFatArrow,
No,
}
Expand description
Signals whether parsing a type should recover ->
.
More specifically, when parsing a function like:
fn foo() => u8 { 0 }
fn bar(): u8 { 0 }
The compiler will try to recover interpreting foo() => u8
as foo() -> u8
when calling
parse_ty
with anything except RecoverReturnSign::No
, and it will try to recover bar(): u8
as bar() -> u8
when passing RecoverReturnSign::Yes
to parse_ty
Variants
Yes
OnlyFatArrow
No
Implementations
sourceimpl RecoverReturnSign
impl RecoverReturnSign
sourcefn can_recover(self, token: &TokenKind) -> bool
fn can_recover(self, token: &TokenKind) -> bool
RecoverReturnSign::Yes allows for recovering fn foo() => u8
and fn foo(): u8
,
RecoverReturnSign::OnlyFatArrow allows for recovering only fn foo() => u8
(recovering
colons can cause problems when parsing where clauses), and
RecoverReturnSign::No doesn’t allow for any recovery of the return type arrow
Trait Implementations
sourceimpl Clone for RecoverReturnSign
impl Clone for RecoverReturnSign
sourcefn clone(&self) -> RecoverReturnSign
fn clone(&self) -> RecoverReturnSign
1.0.0 · sourcefn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source
. Read moresourceimpl PartialEq<RecoverReturnSign> for RecoverReturnSign
impl PartialEq<RecoverReturnSign> for RecoverReturnSign
sourcefn eq(&self, other: &RecoverReturnSign) -> bool
fn eq(&self, other: &RecoverReturnSign) -> bool
impl Copy for RecoverReturnSign
impl StructuralPartialEq for RecoverReturnSign
Auto Trait Implementations
impl RefUnwindSafe for RecoverReturnSign
impl Send for RecoverReturnSign
impl Sync for RecoverReturnSign
impl Unpin for RecoverReturnSign
impl UnwindSafe for RecoverReturnSign
Blanket Implementations
sourceimpl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
const: unstable · sourcefn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Layout
Note: Most layout information is completely unstable and may even differ between compilations. The only exception is types with certain repr(...)
attributes. Please see the Rust Reference’s “Type Layout” chapter for details on type layout guarantees.
Size: 1 byte
Size for each variant:
Yes
: 0 bytesOnlyFatArrow
: 0 bytesNo
: 0 bytes