1 use crate::hir::BindingAnnotation::*;
2 use crate::hir::BindingAnnotation;
3 use crate::hir::Mutability;
5 #[derive(Clone, PartialEq, Eq, RustcEncodable, RustcDecodable, Hash, Debug, Copy)]
7 BindByReference(Mutability),
8 BindByValue(Mutability),
11 CloneTypeFoldableAndLiftImpls! { BindingMode, }
14 pub fn convert(ba: BindingAnnotation) -> BindingMode {
16 Unannotated => BindingMode::BindByValue(Mutability::MutImmutable),
17 Mutable => BindingMode::BindByValue(Mutability::MutMutable),
18 Ref => BindingMode::BindByReference(Mutability::MutImmutable),
19 RefMut => BindingMode::BindByReference(Mutability::MutMutable),
24 impl_stable_hash_for!(enum self::BindingMode {
25 BindByReference(mutability),
26 BindByValue(mutability)