]> git.lizzy.rs Git - rust.git/blob - src/test/rustdoc/traits-in-bodies.rs
Rollup merge of #53784 - tbu-:pr_doc_slice_isize_max, r=RalfJung
[rust.git] / src / test / rustdoc / traits-in-bodies.rs
1 // Copyright 2018 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 //prior to fixing `everybody_loops` to preserve items, rustdoc would crash on this file, as it
12 //didn't see that `SomeStruct` implemented `Clone`
13
14 pub struct Bounded<T: Clone>(T);
15
16 // @has traits_in_bodies/struct.SomeStruct.html
17 // @has - '//code' 'impl Clone for SomeStruct'
18 pub struct SomeStruct;
19
20 fn asdf() -> Bounded<SomeStruct> {
21     impl Clone for SomeStruct {
22         fn clone(&self) -> SomeStruct {
23             SomeStruct
24         }
25     }
26
27     Bounded(SomeStruct)
28 }
29
30 // @has traits_in_bodies/struct.Point.html
31 // @has - '//code' 'impl Copy for Point'
32 #[derive(Clone)]
33 pub struct Point {
34     x: i32,
35     y: i32,
36 }
37
38 const _FOO: () = {
39     impl Copy for Point {}
40     ()
41 };
42
43 // @has traits_in_bodies/struct.Inception.html
44 // @has - '//code' 'impl Clone for Inception'
45 pub struct Inception;
46
47 static _BAR: usize = {
48     trait HiddenTrait {
49         fn hidden_fn(&self) {
50             for _ in 0..5 {
51                 impl Clone for Inception {
52                     fn clone(&self) -> Self {
53                         // we need to go deeper
54                         Inception
55                     }
56                 }
57             }
58         }
59     }
60
61     5
62 };