]> git.proxmox.com Git - rustc.git/blob - src/test/rustdoc-json/fns/generic_args.rs
New upstream version 1.61.0+dfsg1
[rustc.git] / src / test / rustdoc-json / fns / generic_args.rs
1 // ignore-tidy-linelength
2
3 #![feature(no_core)]
4 #![no_core]
5
6 // @set foo = generic_args.json "$.index[*][?(@.name=='Foo')].id"
7 pub trait Foo {}
8
9 // @is - "$.index[*][?(@.name=='generics')].inner.generics.where_predicates" "[]"
10 // @count - "$.index[*][?(@.name=='generics')].inner.generics.params[*]" 1
11 // @is - "$.index[*][?(@.name=='generics')].inner.generics.params[0].name" '"F"'
12 // @is - "$.index[*][?(@.name=='generics')].inner.generics.params[0].kind.type.default" 'null'
13 // @count - "$.index[*][?(@.name=='generics')].inner.generics.params[0].kind.type.bounds[*]" 1
14 // @is - "$.index[*][?(@.name=='generics')].inner.generics.params[0].kind.type.bounds[0].trait_bound.trait.inner.id" '$foo'
15 // @count - "$.index[*][?(@.name=='generics')].inner.decl.inputs[*]" 1
16 // @is - "$.index[*][?(@.name=='generics')].inner.decl.inputs[0][0]" '"f"'
17 // @is - "$.index[*][?(@.name=='generics')].inner.decl.inputs[0][1].kind" '"generic"'
18 // @is - "$.index[*][?(@.name=='generics')].inner.decl.inputs[0][1].inner" '"F"'
19 pub fn generics<F: Foo>(f: F) {}
20
21 // @is - "$.index[*][?(@.name=='impl_trait')].inner.generics.where_predicates" "[]"
22 // @count - "$.index[*][?(@.name=='impl_trait')].inner.generics.params[*]" 1
23 // @is - "$.index[*][?(@.name=='impl_trait')].inner.generics.params[0].name" '"impl Foo"'
24 // @is - "$.index[*][?(@.name=='impl_trait')].inner.generics.params[0].kind.type.bounds[0].trait_bound.trait.inner.id" $foo
25 // @count - "$.index[*][?(@.name=='impl_trait')].inner.decl.inputs[*]" 1
26 // @is - "$.index[*][?(@.name=='impl_trait')].inner.decl.inputs[0][0]" '"f"'
27 // @is - "$.index[*][?(@.name=='impl_trait')].inner.decl.inputs[0][1].kind" '"impl_trait"'
28 // @count - "$.index[*][?(@.name=='impl_trait')].inner.decl.inputs[0][1].inner[*]" 1
29 // @is - "$.index[*][?(@.name=='impl_trait')].inner.decl.inputs[0][1].inner[0].trait_bound.trait.inner.id" $foo
30 pub fn impl_trait(f: impl Foo) {}
31
32 // @count - "$.index[*][?(@.name=='where_clase')].inner.generics.params[*]" 1
33 // @is - "$.index[*][?(@.name=='where_clase')].inner.generics.params[0].name" '"F"'
34 // @is - "$.index[*][?(@.name=='where_clase')].inner.generics.params[0].kind" '{"type": {"bounds": [], "default": null, "synthetic": false}}'
35 // @count - "$.index[*][?(@.name=='where_clase')].inner.decl.inputs[*]" 1
36 // @is - "$.index[*][?(@.name=='where_clase')].inner.decl.inputs[0][0]" '"f"'
37 // @is - "$.index[*][?(@.name=='where_clase')].inner.decl.inputs[0][1].kind" '"generic"'
38 // @is - "$.index[*][?(@.name=='where_clase')].inner.decl.inputs[0][1].inner" '"F"'
39 // @count - "$.index[*][?(@.name=='where_clase')].inner.generics.where_predicates[*]" 1
40 // @is - "$.index[*][?(@.name=='where_clase')].inner.generics.where_predicates[0].bound_predicate.type" '{"inner": "F", "kind": "generic"}'
41 // @count - "$.index[*][?(@.name=='where_clase')].inner.generics.where_predicates[0].bound_predicate.bounds[*]" 1
42 // @is - "$.index[*][?(@.name=='where_clase')].inner.generics.where_predicates[0].bound_predicate.bounds[0].trait_bound.trait.inner.id" $foo
43 pub fn where_clase<F>(f: F)
44 where
45 F: Foo,
46 {
47 }