6
6
// @set foo = generic_args.json "$.index[*][?(@.name=='Foo')].id"
7
7
pub trait Foo { }
8
8
9
+ // @set generic_foo = generic_args.json "$.index[*][?(@.name=='GenericFoo')].id"
10
+ pub trait GenericFoo < ' a > { }
11
+
9
12
// @is - "$.index[*][?(@.name=='generics')].inner.generics.where_predicates" "[]"
10
13
// @count - "$.index[*][?(@.name=='generics')].inner.generics.params[*]" 1
11
14
// @is - "$.index[*][?(@.name=='generics')].inner.generics.params[0].name" '"F"'
@@ -29,19 +32,40 @@ pub fn generics<F: Foo>(f: F) {}
29
32
// @is - "$.index[*][?(@.name=='impl_trait')].inner.decl.inputs[0][1].inner[0].trait_bound.trait.inner.id" $foo
30
33
pub fn impl_trait ( f : impl Foo ) { }
31
34
32
- // @count - "$.index[*][?(@.name=='where_clase')].inner.generics.params[*]" 1
35
+ // @count - "$.index[*][?(@.name=='where_clase')].inner.generics.params[*]" 3
33
36
// @is - "$.index[*][?(@.name=='where_clase')].inner.generics.params[0].name" '"F"'
34
37
// @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
36
39
// @is - "$.index[*][?(@.name=='where_clase')].inner.decl.inputs[0][0]" '"f"'
37
40
// @is - "$.index[*][?(@.name=='where_clase')].inner.decl.inputs[0][1].kind" '"generic"'
38
41
// @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
+
40
44
// @is - "$.index[*][?(@.name=='where_clase')].inner.generics.where_predicates[0].bound_predicate.type" '{"inner": "F", "kind": "generic"}'
41
45
// @count - "$.index[*][?(@.name=='where_clase')].inner.generics.where_predicates[0].bound_predicate.bounds[*]" 1
42
46
// @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 )
44
66
where
45
67
F : Foo ,
68
+ G : for < ' a > GenericFoo < ' a > ,
69
+ for < ' b > & ' b H : Foo ,
46
70
{
47
71
}
0 commit comments