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