File tree Expand file tree Collapse file tree 3 files changed +83
-0
lines changed Expand file tree Collapse file tree 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