]> git.lizzy.rs Git - rust.git/blob - src/test/ui/nested-function-names-issue-8587.rs
Merge pull request #1 from rust-lang/master
[rust.git] / src / test / ui / nested-function-names-issue-8587.rs
1 // run-pass
2 // Make sure nested functions are separate, even if they have
3 // equal name.
4 //
5 // Issue #8587
6
7
8 pub struct X;
9
10 impl X {
11     fn f(&self) -> isize {
12         #[inline(never)]
13         fn inner() -> isize {
14             0
15         }
16         inner()
17     }
18
19     fn g(&self) -> isize {
20         #[inline(never)]
21         fn inner_2() -> isize {
22             1
23         }
24         inner_2()
25     }
26
27     fn h(&self) -> isize {
28         #[inline(never)]
29         fn inner() -> isize {
30             2
31         }
32         inner()
33     }
34 }
35
36 pub fn main() {
37     let n = X;
38     assert_eq!(n.f(), 0);
39     assert_eq!(n.g(), 1);
40     // This test `h` used to fail.
41     assert_eq!(n.h(), 2);
42 }