]> git.lizzy.rs Git - rust.git/blob - tests/rustdoc-json/type/hrtb.rs
Rollup merge of #107687 - cjgillot:sroa-2, r=oli-obk
[rust.git] / tests / rustdoc-json / type / hrtb.rs
1 // ignore-tidy-linelength
2
3 // @is "$.index[*][?(@.name=='genfn')].inner.generics.where_predicates[0].bound_predicate.type" '{"inner": "F","kind": "generic"}'
4 // @is "$.index[*][?(@.name=='genfn')].inner.generics.where_predicates[0].bound_predicate.generic_params" '[{"kind": {"lifetime": {"outlives": []}},"name": "'\''a"},{"kind": {"lifetime": {"outlives": []}},"name": "'\''b"}]'
5 pub fn genfn<F>(f: F)
6 where
7     for<'a, 'b> F: Fn(&'a i32, &'b i32),
8 {
9     let zero = 0;
10     f(&zero, &zero);
11 }
12
13 // @is "$.index[*][?(@.name=='dynfn')].inner.generics" '{"params": [], "where_predicates": []}'
14 // @is "$.index[*][?(@.name=='dynfn')].inner.generics" '{"params": [], "where_predicates": []}'
15 // @is "$.index[*][?(@.name=='dynfn')].inner.decl.inputs[0][1].kind" '"borrowed_ref"'
16 // @is "$.index[*][?(@.name=='dynfn')].inner.decl.inputs[0][1].inner.type.kind" '"dyn_trait"'
17 // @is "$.index[*][?(@.name=='dynfn')].inner.decl.inputs[0][1].inner.type.inner.lifetime" null
18 // @count "$.index[*][?(@.name=='dynfn')].inner.decl.inputs[0][1].inner.type.inner.traits[*]" 1
19 // @is "$.index[*][?(@.name=='dynfn')].inner.decl.inputs[0][1].inner.type.inner.traits[0].generic_params" '[{"kind": {"lifetime": {"outlives": []}},"name": "'\''a"},{"kind": {"lifetime": {"outlives": []}},"name": "'\''b"}]'
20 // @is "$.index[*][?(@.name=='dynfn')].inner.decl.inputs[0][1].inner.type.inner.traits[0].trait.name" '"Fn"'
21 pub fn dynfn(f: &dyn for<'a, 'b> Fn(&'a i32, &'b i32)) {
22     let zero = 0;
23     f(&zero, &zero);
24 }