]> git.lizzy.rs Git - rust.git/blob - tests/rustdoc/doc-notable_trait_box_is_not_an_iterator.rs
Auto merge of #106520 - ehuss:update-mdbook, r=Mark-Simulacrum
[rust.git] / tests / rustdoc / doc-notable_trait_box_is_not_an_iterator.rs
1 #![feature(doc_notable_trait)]
2 #![feature(lang_items)]
3 #![feature(no_core)]
4 #![no_core]
5 #[lang = "owned_box"]
6 pub struct Box<T>;
7
8 impl<T> Box<T> {
9     pub fn new(x: T) -> Box<T> {
10         Box
11     }
12 }
13
14 #[doc(notable_trait)]
15 pub trait FakeIterator {}
16
17 impl<I: FakeIterator> FakeIterator for Box<I> {}
18
19 #[lang = "pin"]
20 pub struct Pin<T>;
21
22 impl<T> Pin<T> {
23     pub fn new(x: T) -> Pin<T> {
24         Pin
25     }
26 }
27
28 impl<I: FakeIterator> FakeIterator for Pin<I> {}
29
30 // @!has doc_notable_trait_box_is_not_an_iterator/fn.foo.html '//*' 'Notable'
31 pub fn foo<T>(x: T) -> Box<T> {
32     Box::new(x)
33 }
34
35 // @!has doc_notable_trait_box_is_not_an_iterator/fn.bar.html '//*' 'Notable'
36 pub fn bar<T>(x: T) -> Pin<T> {
37     Pin::new(x)
38 }