]> git.lizzy.rs Git - rust.git/blob - src/test/rustdoc/synthetic_auto/project.rs
Sort synthetic impls bounds before rendering
[rust.git] / src / test / rustdoc / synthetic_auto / project.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 pub struct Inner<'a, T: 'a> {
12     field: &'a T,
13 }
14
15 trait MyTrait {
16     type MyItem;
17 }
18
19 trait OtherTrait {}
20
21 unsafe impl<'a, T> Send for Inner<'a, T>
22 where
23     'a: 'static,
24     T: MyTrait<MyItem = bool>,
25 {
26 }
27 unsafe impl<'a, T> Sync for Inner<'a, T>
28 where
29     'a: 'static,
30     T: MyTrait,
31     <T as MyTrait>::MyItem: OtherTrait,
32 {
33 }
34
35 // @has project/struct.Foo.html
36 // @has - '//*[@id="synthetic-implementations-list"]/*[@class="impl"]/*/code' "impl<'c, K> Send \
37 // for Foo<'c, K> where K: MyTrait<MyItem = bool>, 'c: 'static"
38 //
39 // @has - '//*[@id="synthetic-implementations-list"]/*[@class="impl"]/*/code' "impl<'c, K> Sync \
40 // for Foo<'c, K> where K: MyTrait, <K as MyTrait>::MyItem: OtherTrait, 'c: 'static,"
41 pub struct Foo<'c, K: 'c> {
42     inner_field: Inner<'c, K>,
43 }