18 lines
545 B
Rust
18 lines
545 B
Rust
use rustc_hir::{BindingAnnotation, ByRef, Mutability};
|
|
|
|
#[derive(Clone, PartialEq, TyEncodable, TyDecodable, Debug, Copy, HashStable)]
|
|
pub enum BindingMode {
|
|
BindByReference(Mutability),
|
|
BindByValue(Mutability),
|
|
}
|
|
|
|
TrivialTypeTraversalAndLiftImpls! { BindingMode, }
|
|
|
|
impl BindingMode {
|
|
pub fn convert(BindingAnnotation(by_ref, mutbl): BindingAnnotation) -> BindingMode {
|
|
match by_ref {
|
|
ByRef::No => BindingMode::BindByValue(mutbl),
|
|
ByRef::Yes => BindingMode::BindByReference(mutbl),
|
|
}
|
|
}
|
|
}
|