66// @set foo = generic_args.json "$.index[*][?(@.name=='Foo')].id"
77pub trait Foo { }
88
9+ // @set generic_foo = generic_args.json "$.index[*][?(@.name=='GenericFoo')].id"
10+ pub trait GenericFoo < ' a > { }
11+
912// @is - "$.index[*][?(@.name=='generics')].inner.generics.where_predicates" "[]"
1013// @count - "$.index[*][?(@.name=='generics')].inner.generics.params[*]" 1
1114// @is - "$.index[*][?(@.name=='generics')].inner.generics.params[0].name" '"F"'
@@ -29,19 +32,40 @@ pub fn generics<F: Foo>(f: F) {}
2932// @is - "$.index[*][?(@.name=='impl_trait')].inner.decl.inputs[0][1].inner[0].trait_bound.trait.inner.id" $foo
3033pub fn impl_trait ( f : impl Foo ) { }
3134
32- // @count - "$.index[*][?(@.name=='where_clase')].inner.generics.params[*]" 1
35+ // @count - "$.index[*][?(@.name=='where_clase')].inner.generics.params[*]" 3
3336// @is - "$.index[*][?(@.name=='where_clase')].inner.generics.params[0].name" '"F"'
3437// @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
38+ // @count - "$.index[*][?(@.name=='where_clase')].inner.decl.inputs[*]" 3
3639// @is - "$.index[*][?(@.name=='where_clase')].inner.decl.inputs[0][0]" '"f"'
3740// @is - "$.index[*][?(@.name=='where_clase')].inner.decl.inputs[0][1].kind" '"generic"'
3841// @is - "$.index[*][?(@.name=='where_clase')].inner.decl.inputs[0][1].inner" '"F"'
39- // @count - "$.index[*][?(@.name=='where_clase')].inner.generics.where_predicates[*]" 1
42+ // @count - "$.index[*][?(@.name=='where_clase')].inner.generics.where_predicates[*]" 3
43+
4044// @is - "$.index[*][?(@.name=='where_clase')].inner.generics.where_predicates[0].bound_predicate.type" '{"inner": "F", "kind": "generic"}'
4145// @count - "$.index[*][?(@.name=='where_clase')].inner.generics.where_predicates[0].bound_predicate.bounds[*]" 1
4246// @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 )
47+
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.inner.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" "[]"
55+
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.inner.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": [] } }'
65+ pub fn where_clase < F , G , H > ( f : F , g : G , h : H )
4466where
4567 F : Foo ,
68+ G : for < ' a > GenericFoo < ' a > ,
69+ for < ' b > & ' b H : Foo ,
4670{
4771}
0 commit comments