This commit is contained in:
Oliver Schneider 2018-02-09 14:22:50 +01:00
parent 88970ec8cf
commit ff32d5f734
No known key found for this signature in database
GPG Key ID: A69F8D225B3AD7D9
2 changed files with 19 additions and 3 deletions

View File

@ -1,4 +1,4 @@
use consts::{constant, constant_context};
use consts::{constant_simple, constant_context};
use rustc::lint::*;
use rustc::hir::*;
use std::hash::{Hash, Hasher};
@ -64,7 +64,7 @@ impl<'a, 'tcx: 'a> SpanlessEq<'a, 'tcx> {
return false;
}
if let (Some(l), Some(r)) = (constant(self.cx, left), constant(self.cx, right)) {
if let (Some(l), Some(r)) = (constant_simple(self.cx, left), constant_simple(self.cx, right)) {
if l == r {
return true;
}
@ -317,7 +317,7 @@ impl<'a, 'tcx: 'a> SpanlessHash<'a, 'tcx> {
}
pub fn hash_expr(&mut self, e: &Expr) {
if let Some(e) = constant(self.cx, e) {
if let Some(e) = constant_simple(self.cx, e) {
return e.hash(&mut self.s);
}

View File

@ -0,0 +1,16 @@
#![deny(match_same_arms)]
const PRICE_OF_SWEETS: u32 = 5;
const PRICE_OF_KINDNESS: u32 = 0;
const PRICE_OF_DRINKS: u32 = 5;
pub fn price(thing: &str) -> u32 {
match thing {
"rolo" => PRICE_OF_SWEETS,
"advice" => PRICE_OF_KINDNESS,
"juice" => PRICE_OF_DRINKS,
_ => panic!()
}
}
fn main() {}