]> git.lizzy.rs Git - rust.git/blob - src/test/rustdoc-json/type/dyn.rs
Rollup merge of #100528 - tux3:riscv-bitmanip-features, r=davidtwco
[rust.git] / src / test / rustdoc-json / type / dyn.rs
1 // ignore-tidy-linelength
2 use std::fmt::Debug;
3
4 // @count dyn.json "$.index[*][?(@.name=='dyn')].inner.items[*]" 3
5 // @set sync_int_gen = - "$.index[*][?(@.name=='SyncIntGen')].id"
6 // @set ref_fn       = - "$.index[*][?(@.name=='RefFn')].id"
7 // @set weird_order  = - "$.index[*][?(@.name=='WeirdOrder')].id"
8 // @has - "$.index[*][?(@.name=='dyn')].inner.items[*]" $sync_int_gen
9 // @has - "$.index[*][?(@.name=='dyn')].inner.items[*]" $ref_fn
10 // @has - "$.index[*][?(@.name=='dyn')].inner.items[*]" $weird_order
11
12 // @is    - "$.index[*][?(@.name=='SyncIntGen')].kind" \"typedef\"
13 // @is    - "$.index[*][?(@.name=='SyncIntGen')].inner.generics" '{"params": [], "where_predicates": []}'
14 // @is    - "$.index[*][?(@.name=='SyncIntGen')].inner.type.kind" \"resolved_path\"
15 // @is    - "$.index[*][?(@.name=='SyncIntGen')].inner.type.inner.name" \"Box\"
16 // @is    - "$.index[*][?(@.name=='SyncIntGen')].inner.type.inner.args.angle_bracketed.bindings" []
17 // @count - "$.index[*][?(@.name=='SyncIntGen')].inner.type.inner.args.angle_bracketed.args" 1
18 // @is    - "$.index[*][?(@.name=='SyncIntGen')].inner.type.inner.args.angle_bracketed.args[0].type.kind" \"dyn_trait\"
19 // @is    - "$.index[*][?(@.name=='SyncIntGen')].inner.type.inner.args.angle_bracketed.args[0].type.inner.lifetime" \"\'static\"
20 // @count - "$.index[*][?(@.name=='SyncIntGen')].inner.type.inner.args.angle_bracketed.args[0].type.inner.traits[*]" 3
21 // @is    - "$.index[*][?(@.name=='SyncIntGen')].inner.type.inner.args.angle_bracketed.args[0].type.inner.traits[0].generic_params" []
22 // @is    - "$.index[*][?(@.name=='SyncIntGen')].inner.type.inner.args.angle_bracketed.args[0].type.inner.traits[1].generic_params" []
23 // @is    - "$.index[*][?(@.name=='SyncIntGen')].inner.type.inner.args.angle_bracketed.args[0].type.inner.traits[2].generic_params" []
24 // @is    - "$.index[*][?(@.name=='SyncIntGen')].inner.type.inner.args.angle_bracketed.args[0].type.inner.traits[0].trait.name" '"Fn"'
25 // @is    - "$.index[*][?(@.name=='SyncIntGen')].inner.type.inner.args.angle_bracketed.args[0].type.inner.traits[1].trait.name" '"Send"'
26 // @is    - "$.index[*][?(@.name=='SyncIntGen')].inner.type.inner.args.angle_bracketed.args[0].type.inner.traits[2].trait.name" '"Sync"'
27 // @is    - "$.index[*][?(@.name=='SyncIntGen')].inner.type.inner.args.angle_bracketed.args[0].type.inner.traits[0].trait.args" '{"parenthesized": {"inputs": [],"output": {"inner": "i32","kind": "primitive"}}}'
28 pub type SyncIntGen = Box<dyn Fn() -> i32 + Send + Sync + 'static>;
29
30 // @is - "$.index[*][?(@.name=='RefFn')].kind" \"typedef\"
31 // @is - "$.index[*][?(@.name=='RefFn')].inner.generics" '{"params": [{"kind": {"lifetime": {"outlives": []}},"name": "'\''a"}],"where_predicates": []}'
32 // @is - "$.index[*][?(@.name=='RefFn')].inner.type.kind" '"borrowed_ref"'
33 // @is - "$.index[*][?(@.name=='RefFn')].inner.type.inner.mutable" 'false'
34 // @is - "$.index[*][?(@.name=='RefFn')].inner.type.inner.lifetime" "\"'a\""
35 // @is - "$.index[*][?(@.name=='RefFn')].inner.type.inner.type.kind" '"dyn_trait"'
36 // @is - "$.index[*][?(@.name=='RefFn')].inner.type.inner.type.inner.lifetime" null
37 // @count - "$.index[*][?(@.name=='RefFn')].inner.type.inner.type.inner.traits[*]" 1
38 // @is - "$.index[*][?(@.name=='RefFn')].inner.type.inner.type.inner.traits[0].generic_params" '[{"kind": {"lifetime": {"outlives": []}},"name": "'\''b"}]'
39 // @is - "$.index[*][?(@.name=='RefFn')].inner.type.inner.type.inner.traits[0].trait.name" '"Fn"'
40 // @is - "$.index[*][?(@.name=='RefFn')].inner.type.inner.type.inner.traits[0].trait.args.parenthesized.inputs[0].kind" '"borrowed_ref"'
41 // @is - "$.index[*][?(@.name=='RefFn')].inner.type.inner.type.inner.traits[0].trait.args.parenthesized.inputs[0].inner.lifetime" "\"'b\""
42 // @is - "$.index[*][?(@.name=='RefFn')].inner.type.inner.type.inner.traits[0].trait.args.parenthesized.output.kind" '"borrowed_ref"'
43 // @is - "$.index[*][?(@.name=='RefFn')].inner.type.inner.type.inner.traits[0].trait.args.parenthesized.output.inner.lifetime" "\"'b\""
44 pub type RefFn<'a> = &'a dyn for<'b> Fn(&'b i32) -> &'b i32;
45
46 // @is    - "$.index[*][?(@.name=='WeirdOrder')].inner.type.inner.args.angle_bracketed.args[0].type.inner.traits[0].trait.name" '"Send"'
47 // @is    - "$.index[*][?(@.name=='WeirdOrder')].inner.type.inner.args.angle_bracketed.args[0].type.inner.traits[1].trait.name" '"Debug"'
48 pub type WeirdOrder = Box<dyn Send + Debug>;