From cee96fab39299449f877c3db997d1cf421abc8af Mon Sep 17 00:00:00 2001 From: Florian Hartwig Date: Wed, 27 Jan 2016 21:10:35 +0100 Subject: [PATCH] Point out that char is 32 bit value --- src/types.rs | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/src/types.rs b/src/types.rs index 42824c36ec66..d41896cd490a 100644 --- a/src/types.rs +++ b/src/types.rs @@ -544,7 +544,9 @@ impl LateLintPass for CharLitAsU8 { if let ExprLit(ref l) = e.node { if let Lit_::LitChar(_) = l.node { if ty::TyUint(UintTy::TyU8) == cx.tcx.expr_ty(expr).sty && !in_macro(cx, expr.span) { - let msg = "casting character literal to u8."; + let msg = "casting character literal to u8. `char`s \ + are 4 bytes wide in rust, so casting to u8 \ + truncates them"; let help = format!("Consider using a byte literal \ instead:\nb{}", snippet(cx, e.span, "'x'"));