File tree 3 files changed +83
-0
lines changed
3 files changed +83
-0
lines changed Original file line number Diff line number Diff line change
1
+ // ignore-tidy-linelength
2
+ #![ feature( inherent_associated_types) ]
3
+ #![ feature( no_core) ]
4
+ #![ allow( incomplete_features) ]
5
+ #![ no_core]
6
+
7
+ // @set OwnerMetadata = '$.index[*][?(@.name=="OwnerMetadata")].id'
8
+ pub struct OwnerMetadata ;
9
+ // @set Owner = '$.index[*][?(@.name=="Owner")].id'
10
+ pub struct Owner ;
11
+
12
+ pub fn create ( ) -> Owner :: Metadata {
13
+ OwnerMetadata
14
+ }
15
+ // @is '$.index[*][?(@.name=="create")].inner.decl.output.kind' '"qualified_path"'
16
+ // @is '$.index[*][?(@.name=="create")].inner.decl.output.inner.name' '"Metadata"'
17
+ // @is '$.index[*][?(@.name=="create")].inner.decl.output.inner.trait' null
18
+ // @is '$.index[*][?(@.name=="create")].inner.decl.output.inner.self_type.kind' '"resolved_path"'
19
+ // @is '$.index[*][?(@.name=="create")].inner.decl.output.inner.self_type.inner.id' $Owner
20
+
21
+ /// impl
22
+ impl Owner {
23
+ /// iat
24
+ pub type Metadata = OwnerMetadata ;
25
+ }
26
+ // @set iat = '$.index[*][?(@.docs=="iat")].id'
27
+ // @is '$.index[*][?(@.docs=="impl")].inner.items[*]' $iat
28
+ // @is '$.index[*][?(@.docs=="iat")].kind' '"assoc_type"'
29
+ // @is '$.index[*][?(@.docs=="iat")].inner.default.inner.id' $OwnerMetadata
Original file line number Diff line number Diff line change
1
+ // ignore-tidy-linelength
2
+ #![ feature( inherent_associated_types) ]
3
+ #![ allow( incomplete_features) ]
4
+
5
+ // @set Carrier = '$.index[*][?(@.name=="Carrier")].id'
6
+ pub struct Carrier < ' a > ( & ' a ( ) ) ;
7
+
8
+ // @is '$.index[*][?(@.name=="User")].inner.type.kind' '"function_pointer"'
9
+ // @is '$.index[*][?(@.name=="User")].inner.type.inner.generic_params[*].name' \""'b"\"
10
+ // @is '$.index[*][?(@.name=="User")].inner.type.inner.decl.inputs[0][1].kind' '"qualified_path"'
11
+ // @is '$.index[*][?(@.name=="User")].inner.type.inner.decl.inputs[0][1].inner.self_type.inner.id' $Carrier
12
+ // @is '$.index[*][?(@.name=="User")].inner.type.inner.decl.inputs[0][1].inner.self_type.inner.args.angle_bracketed.args[0].lifetime' \""'b"\"
13
+ // @is '$.index[*][?(@.name=="User")].inner.type.inner.decl.inputs[0][1].inner.name' '"Focus"'
14
+ // @is '$.index[*][?(@.name=="User")].inner.type.inner.decl.inputs[0][1].inner.trait' null
15
+ // @is '$.index[*][?(@.name=="User")].inner.type.inner.decl.inputs[0][1].inner.args.angle_bracketed.args[0].type.inner' '"i32"'
16
+
17
+ pub type User = for <' b > fn ( Carrier < ' b > :: Focus < i32 > ) ;
18
+
19
+ impl < ' a > Carrier < ' a > {
20
+ pub type Focus < T > = & ' a mut T ;
21
+ }
Original file line number Diff line number Diff line change
1
+ // ignore-tidy-linelength
2
+ #![ feature( inherent_associated_types) ]
3
+ #![ allow( incomplete_features) ]
4
+
5
+ // @set Parametrized = '$.index[*][?(@.name=="Parametrized")].id'
6
+ pub struct Parametrized < T > ( T ) ;
7
+
8
+ // @is '$.index[*][?(@.name=="Test")].inner.type.kind' '"qualified_path"'
9
+ // @is '$.index[*][?(@.name=="Test")].inner.type.inner.self_type.inner.id' $Parametrized
10
+ // @is '$.index[*][?(@.name=="Test")].inner.type.inner.self_type.inner.args.angle_bracketed.args[0].type' '{"inner": "i32", "kind": "primitive"}'
11
+ // @is '$.index[*][?(@.name=="Test")].inner.type.inner.name' '"Proj"'
12
+ // @is '$.index[*][?(@.name=="Test")].inner.type.inner.trait' null
13
+ pub type Test = Parametrized < i32 > :: Proj ;
14
+
15
+ /// param_bool
16
+ impl Parametrized < bool > {
17
+ /// param_bool_proj
18
+ pub type Proj = ( ) ;
19
+ }
20
+
21
+ /// param_i32
22
+ impl Parametrized < i32 > {
23
+ /// param_i32_proj
24
+ pub type Proj = String ;
25
+ }
26
+
27
+ // @set param_bool = '$.index[*][?(@.docs=="param_bool")].id'
28
+ // @set param_i32 = '$.index[*][?(@.docs=="param_i32")].id'
29
+ // @set param_bool_proj = '$.index[*][?(@.docs=="param_bool_proj")].id'
30
+ // @set param_i32_proj = '$.index[*][?(@.docs=="param_i32_proj")].id'
31
+
32
+ // @is '$.index[*][?(@.docs=="param_bool")].inner.items[*]' $param_bool_proj
33
+ // @is '$.index[*][?(@.docs=="param_i32")].inner.items[*]' $param_i32_proj
You can’t perform that action at this time.
0 commit comments