]> git.lizzy.rs Git - rust.git/blob - src/test/ui/single-use-lifetime/one-use-in-fn-return.rs
Auto merge of #54624 - arielb1:evaluate-outlives, r=nikomatsakis
[rust.git] / src / test / ui / single-use-lifetime / one-use-in-fn-return.rs
1 // Copyright 2016 The Rust Project Developers. See the COPYRIGHT
2 // file at the top-level directory of this distribution and at
3 // http://rust-lang.org/COPYRIGHT.
4 //
5 // Licensed under the Apache License, Version 2.0 <LICENSE-APACHE or
6 // http://www.apache.org/licenses/LICENSE-2.0> or the MIT license
7 // <LICENSE-MIT or http://opensource.org/licenses/MIT>, at your
8 // option. This file may not be copied, modified, or distributed
9 // except according to those terms.
10
11 // compile-pass
12
13 #![deny(single_use_lifetimes)]
14 #![allow(dead_code)]
15 #![allow(unused_variables)]
16
17 // Test that we DO NOT warn when lifetime name is used only
18 // once in a fn return type -- using `'_` is not legal there,
19 // as it must refer back to an argument.
20 //
21 // (Normally, using `'static` would be preferred, but there are
22 // times when that is not what you want.)
23 //
24 // run-pass
25
26 fn b<'a>() -> &'a u32 { // OK: used only in return type
27     &22
28 }
29
30 fn main() { }