]> git.proxmox.com Git - rustc.git/blame - src/test/rustdoc-json/fns/generic_args.rs
Update unsuspicious file list
[rustc.git] / src / test / rustdoc-json / fns / generic_args.rs
CommitLineData
5e7ed085
FG
1// ignore-tidy-linelength
2
3#![feature(no_core)]
4#![no_core]
5
f2b60f7d 6// @set foo = "$.index[*][?(@.name=='Foo')].id"
5e7ed085
FG
7pub trait Foo {}
8
f2b60f7d 9// @set generic_foo = "$.index[*][?(@.name=='GenericFoo')].id"
923072b8
FG
10pub trait GenericFoo<'a> {}
11
f2b60f7d
FG
12// @is "$.index[*][?(@.name=='generics')].inner.generics.where_predicates" "[]"
13// @count "$.index[*][?(@.name=='generics')].inner.generics.params[*]" 1
14// @is "$.index[*][?(@.name=='generics')].inner.generics.params[0].name" '"F"'
15// @is "$.index[*][?(@.name=='generics')].inner.generics.params[0].kind.type.default" 'null'
16// @count "$.index[*][?(@.name=='generics')].inner.generics.params[0].kind.type.bounds[*]" 1
17// @is "$.index[*][?(@.name=='generics')].inner.generics.params[0].kind.type.bounds[0].trait_bound.trait.id" '$foo'
18// @count "$.index[*][?(@.name=='generics')].inner.decl.inputs[*]" 1
19// @is "$.index[*][?(@.name=='generics')].inner.decl.inputs[0][0]" '"f"'
20// @is "$.index[*][?(@.name=='generics')].inner.decl.inputs[0][1].kind" '"generic"'
21// @is "$.index[*][?(@.name=='generics')].inner.decl.inputs[0][1].inner" '"F"'
5e7ed085
FG
22pub fn generics<F: Foo>(f: F) {}
23
f2b60f7d
FG
24// @is "$.index[*][?(@.name=='impl_trait')].inner.generics.where_predicates" "[]"
25// @count "$.index[*][?(@.name=='impl_trait')].inner.generics.params[*]" 1
26// @is "$.index[*][?(@.name=='impl_trait')].inner.generics.params[0].name" '"impl Foo"'
27// @is "$.index[*][?(@.name=='impl_trait')].inner.generics.params[0].kind.type.bounds[0].trait_bound.trait.id" $foo
28// @count "$.index[*][?(@.name=='impl_trait')].inner.decl.inputs[*]" 1
29// @is "$.index[*][?(@.name=='impl_trait')].inner.decl.inputs[0][0]" '"f"'
30// @is "$.index[*][?(@.name=='impl_trait')].inner.decl.inputs[0][1].kind" '"impl_trait"'
31// @count "$.index[*][?(@.name=='impl_trait')].inner.decl.inputs[0][1].inner[*]" 1
32// @is "$.index[*][?(@.name=='impl_trait')].inner.decl.inputs[0][1].inner[0].trait_bound.trait.id" $foo
5e7ed085
FG
33pub fn impl_trait(f: impl Foo) {}
34
f2b60f7d
FG
35// @count "$.index[*][?(@.name=='where_clase')].inner.generics.params[*]" 3
36// @is "$.index[*][?(@.name=='where_clase')].inner.generics.params[0].name" '"F"'
37// @is "$.index[*][?(@.name=='where_clase')].inner.generics.params[0].kind" '{"type": {"bounds": [], "default": null, "synthetic": false}}'
38// @count "$.index[*][?(@.name=='where_clase')].inner.decl.inputs[*]" 3
39// @is "$.index[*][?(@.name=='where_clase')].inner.decl.inputs[0][0]" '"f"'
40// @is "$.index[*][?(@.name=='where_clase')].inner.decl.inputs[0][1].kind" '"generic"'
41// @is "$.index[*][?(@.name=='where_clase')].inner.decl.inputs[0][1].inner" '"F"'
42// @count "$.index[*][?(@.name=='where_clase')].inner.generics.where_predicates[*]" 3
923072b8 43
f2b60f7d
FG
44// @is "$.index[*][?(@.name=='where_clase')].inner.generics.where_predicates[0].bound_predicate.type" '{"inner": "F", "kind": "generic"}'
45// @count "$.index[*][?(@.name=='where_clase')].inner.generics.where_predicates[0].bound_predicate.bounds[*]" 1
46// @is "$.index[*][?(@.name=='where_clase')].inner.generics.where_predicates[0].bound_predicate.bounds[0].trait_bound.trait.id" $foo
923072b8 47
f2b60f7d
FG
48// @is "$.index[*][?(@.name=='where_clase')].inner.generics.where_predicates[1].bound_predicate.type" '{"inner": "G", "kind": "generic"}'
49// @count "$.index[*][?(@.name=='where_clase')].inner.generics.where_predicates[1].bound_predicate.bounds[*]" 1
50// @is "$.index[*][?(@.name=='where_clase')].inner.generics.where_predicates[1].bound_predicate.bounds[0].trait_bound.trait.id" $generic_foo
51// @count "$.index[*][?(@.name=='where_clase')].inner.generics.where_predicates[1].bound_predicate.bounds[0].trait_bound.generic_params[*]" 1
52// @is "$.index[*][?(@.name=='where_clase')].inner.generics.where_predicates[1].bound_predicate.bounds[0].trait_bound.generic_params[0].name" \"\'a\"
53// @is "$.index[*][?(@.name=='where_clase')].inner.generics.where_predicates[1].bound_predicate.bounds[0].trait_bound.generic_params[0].kind" '{ "lifetime": { "outlives": [] } }'
54// @is "$.index[*][?(@.name=='where_clase')].inner.generics.where_predicates[1].bound_predicate.generic_params" "[]"
923072b8 55
f2b60f7d
FG
56// @is "$.index[*][?(@.name=='where_clase')].inner.generics.where_predicates[2].bound_predicate.type.kind" '"borrowed_ref"'
57// @is "$.index[*][?(@.name=='where_clase')].inner.generics.where_predicates[2].bound_predicate.type.inner.lifetime" \"\'b\"
58// @is "$.index[*][?(@.name=='where_clase')].inner.generics.where_predicates[2].bound_predicate.type.inner.type" '{"inner": "H", "kind": "generic"}'
59// @count "$.index[*][?(@.name=='where_clase')].inner.generics.where_predicates[2].bound_predicate.bounds[*]" 1
60// @is "$.index[*][?(@.name=='where_clase')].inner.generics.where_predicates[2].bound_predicate.bounds[0].trait_bound.trait.id" $foo
61// @is "$.index[*][?(@.name=='where_clase')].inner.generics.where_predicates[2].bound_predicate.bounds[0].trait_bound.generic_params" "[]"
62// @count "$.index[*][?(@.name=='where_clase')].inner.generics.where_predicates[2].bound_predicate.generic_params[*]" 1
63// @is "$.index[*][?(@.name=='where_clase')].inner.generics.where_predicates[2].bound_predicate.generic_params[0].name" \"\'b\"
64// @is "$.index[*][?(@.name=='where_clase')].inner.generics.where_predicates[2].bound_predicate.generic_params[0].kind" '{ "lifetime": { "outlives": [] } }'
923072b8 65pub fn where_clase<F, G, H>(f: F, g: G, h: H)
5e7ed085
FG
66where
67 F: Foo,
923072b8
FG
68 G: for<'a> GenericFoo<'a>,
69 for<'b> &'b H: Foo,
5e7ed085
FG
70{
71}