From e6b23da5a25150ecf078d9c402b699c62541c9bd Mon Sep 17 00:00:00 2001 From: P1start Date: Wed, 21 May 2014 15:28:40 +1200 Subject: [PATCH] Fix lifetime error to print `'a` instead of `&'a` This changes certain error messages about lifetimes so that they display lifetimes without an `&`. Fixes #10291. --- src/librustc/util/ppaux.rs | 2 +- src/test/compile-fail/issue-10291.rs | 19 +++++++++++++++++++ 2 files changed, 20 insertions(+), 1 deletion(-) create mode 100644 src/test/compile-fail/issue-10291.rs diff --git a/src/librustc/util/ppaux.rs b/src/librustc/util/ppaux.rs index 95ae05985d38e..de4ec6d8e23e2 100644 --- a/src/librustc/util/ppaux.rs +++ b/src/librustc/util/ppaux.rs @@ -145,7 +145,7 @@ pub fn explain_region_and_span(cx: &ctxt, region: ty::Region) } pub fn bound_region_ptr_to_str(cx: &ctxt, br: BoundRegion) -> StrBuf { - bound_region_to_str(cx, "&", true, br) + bound_region_to_str(cx, "", false, br) } pub fn bound_region_to_str(cx: &ctxt, diff --git a/src/test/compile-fail/issue-10291.rs b/src/test/compile-fail/issue-10291.rs new file mode 100644 index 0000000000000..71b98bb5f5a48 --- /dev/null +++ b/src/test/compile-fail/issue-10291.rs @@ -0,0 +1,19 @@ +// Copyright 2014 The Rust Project Developers. See the COPYRIGHT +// file at the top-level directory of this distribution and at +// http://rust-lang.org/COPYRIGHT. +// +// Licensed under the Apache License, Version 2.0 or the MIT license +// , at your +// option. This file may not be copied, modified, or distributed +// except according to those terms. + +fn test<'x>(x: &'x int) { //~ NOTE the lifetime 'x as defined + drop::< <'z>|&'z int| -> &'z int>(|z| { + //~^ ERROR mismatched types + //~^^ ERROR cannot infer an appropriate lifetime + x + }); +} + +fn main() {}