]> git.proxmox.com Git - rustc.git/blame - src/test/rustdoc/async-fn.rs
New upstream version 1.49.0~beta.4+dfsg1
[rustc.git] / src / test / rustdoc / async-fn.rs
CommitLineData
8faf50e0 1// edition:2018
29967ef6 2#![feature(min_const_generics)]
94b46f34 3
9fa01778
XL
4// @has async_fn/fn.foo.html '//pre[@class="rust fn"]' 'pub async fn foo() -> Option<Foo>'
5pub async fn foo() -> Option<Foo> {
6 None
7}
8
9// @has async_fn/fn.bar.html '//pre[@class="rust fn"]' 'pub async fn bar(a: i32, b: i32) -> i32'
10pub async fn bar(a: i32, b: i32) -> i32 {
11 0
12}
13
14// @has async_fn/fn.baz.html '//pre[@class="rust fn"]' 'pub async fn baz<T>(a: T) -> T'
15pub async fn baz<T>(a: T) -> T {
16 a
17}
18
dfeec247
XL
19// @has async_fn/fn.qux.html '//pre[@class="rust fn"]' 'pub async unsafe fn qux() -> char'
20pub async unsafe fn qux() -> char {
21 '⚠'
22}
23
29967ef6
XL
24// @has async_fn/fn.mut_args.html '//pre[@class="rust fn"]' 'pub async fn mut_args(a: usize)'
25pub async fn mut_args(mut a: usize) {}
26
27// @has async_fn/fn.mut_ref.html '//pre[@class="rust fn"]' 'pub async fn mut_ref(x: i32)'
28pub async fn mut_ref(ref mut x: i32) {}
29
9fa01778
XL
30trait Bar {}
31
32impl Bar for () {}
33
34// @has async_fn/fn.quux.html '//pre[@class="rust fn"]' 'pub async fn quux() -> impl Bar'
35pub async fn quux() -> impl Bar {
36 ()
37}
38
39// @has async_fn/struct.Foo.html
40// @matches - '//code' 'pub async fn f\(\)$'
dfeec247 41// @matches - '//code' 'pub async unsafe fn g\(\)$'
29967ef6 42// @matches - '//code' 'pub async fn mut_self\(self, first: usize\)$'
9fa01778 43pub struct Foo;
9e0c209e 44
9fa01778 45impl Foo {
b7449926 46 pub async fn f() {}
dfeec247 47 pub async unsafe fn g() {}
29967ef6 48 pub async fn mut_self(mut self, mut first: usize) {}
b7449926 49}
29967ef6
XL
50
51pub trait Trait<const N: usize> {}
52// @has async_fn/fn.const_generics.html
53// @has - '//pre[@class="rust fn"]' 'pub async fn const_generics<const N: usize>(_: impl Trait<N>)'
54pub async fn const_generics<const N: usize>(_: impl Trait<N>) {}