use crate::hir::BindingAnnotation;
use crate::hir::Mutability;
-#[derive(Clone, PartialEq, RustcEncodable, RustcDecodable, Debug, Copy)]
+#[derive(Clone, PartialEq, RustcEncodable, RustcDecodable, Debug, Copy, HashStable)]
pub enum BindingMode {
BindByReference(Mutability),
BindByValue(Mutability),
impl BindingMode {
pub fn convert(ba: BindingAnnotation) -> BindingMode {
match ba {
- Unannotated => BindingMode::BindByValue(Mutability::MutImmutable),
- Mutable => BindingMode::BindByValue(Mutability::MutMutable),
- Ref => BindingMode::BindByReference(Mutability::MutImmutable),
- RefMut => BindingMode::BindByReference(Mutability::MutMutable),
+ Unannotated => BindingMode::BindByValue(Mutability::Immutable),
+ Mutable => BindingMode::BindByValue(Mutability::Mutable),
+ Ref => BindingMode::BindByReference(Mutability::Immutable),
+ RefMut => BindingMode::BindByReference(Mutability::Mutable),
}
}
}
-
-impl_stable_hash_for!(enum self::BindingMode {
- BindByReference(mutability),
- BindByValue(mutability)
-});